【第05话】三剑客(下)《烂俗前端》

简介: 【第05话】三剑客(下)《烂俗前端》
《烂俗前端》是一部以前端为题材的长篇小说,涉及讨论职业、社会、技术、情感等话题,正在更新中。全集链接: 烂俗前端,所有markdown和涉及的源码在: github

夜晚11点,灯突然闪了两下就灭了,宿舍一片漆黑,大学11点便熄了灯并断了网络。一道刺眼的光闪起来,李学习打开了手机手电筒。

“我的台灯充好电了,开着咱们继续唠。”李学习还意犹未尽,要今天把该说的跟铁柱都说了,彷佛明天是铁柱出嫁的日子,老父亲依依不舍的跟女儿吩咐事情一般。

“喔~” 赵铁柱打了声悠长的哈欠,似乎在抗议李学习的“虐待”,但转念一想,李学习这是在用心帮他。“好的吧。”

“困了吗,那你放点音乐吧。我今天不睡那么快。”李学习鼓励赵铁柱。

道道道道道道道道道道道道道道道~

道可道非常道

赵铁柱手机响起了黄霑老师豪放的歌声,这歌声貌似真能驱除困意,顿时让铁柱精神了些。

1.png

“所谓三剑客,就是HTML、CSS、JavaScript。是网页开发的三门基本语言,搭配使用。很多人不明所以就屁颠屁颠的去看,不明白为什么要学这仨,学习效果并不如意。嗯,修车的,不知道各个零件的作用,能修好车吗?”

“嗯对”,铁柱有点麻木了。

“web,也就是网页,当你在浏览器输入地址并按了回车,到你最终看到网页这一过程。浏览器其实是非常繁忙的,先去请求得到一个‘文本’(HTTP响应体),就好像是个造房子的建筑设计稿,首先解析它大体的框架结构(HTML),再读取‘装修方案’(css)给他美化装饰一下,同时也在解析一些交互逻辑,比如按门铃就会响起来这样的逻辑等等(JavaScript)。”

“后面我相信你会需要更深入浏览器研究的,我就不多说了,再说我也不懂了。我解释的能听懂吗?”李学习问

“666”,铁柱慢慢的拍手鼓掌,说:“懂,习牛逼。”

“你的电脑连上你自己的热点,我来写点东西。”然后铁柱就照做了,并把位置让给了李学习。

李学习在windows桌面上右键新建了一个文本文件,并双击打开。

3.png

键盘一顿敲了几行代码:

<html>
<head>
    <title>赵铁柱!</title>
<head>
<body>
    <h1>Hello World</h1>
</body>
<html>

然后保存关闭,将这个文本重命名为helloWorld.html,双击打开。

4.png

5.png

“这就是一个最最最简单的网页,并且是存在你电脑上的,你在网上输入地址读取到的别人的网页实际上是通过网络访问别人的电脑上的网页。”李学习说,“我写的这个例子,你看到了,没有这个页面没有CSS和JavaScript。所以说HTML是网页最基本的组成。”

“另外,一般不是通过记事本这种去写代码的,真正项目会使用一些编辑器注1协助编写代码,它可以通过美化和补全等功能来帮助开发者的更舒服的工作。本质上,编辑器就是一个针对开发者的记事本,并且有很多中产品,你下载一个vscode。这是目前前端主流的编辑器,先下着。”

此时,赵铁柱开始犯困了。

“你眯个十分钟,我来帮你下载vscode,一会继续。”李学习看铁柱状态不佳,就稍微让他休息一会。李学习下载了vscode安装文件把他装到了D盘下的某个文件夹,因为他有不喜欢装东西在C盘的好习惯,除非迫不得已。

“柱儿!好了,来。”李学习喊起了趴在桌子的铁柱的。铁柱用手搓了搓脸准备继续学习。

“我在你D盘新建了三个叫wwwappdoc的目录,www用于存放你的千克项目,哪怕是练习demo也要在里面建好个子文件夹起英文名放好,养成习惯。app是你所装的所有工具软件都放里面,doc是文档类的东西。这样硬盘盘就不会太乱了。装东西的时候注意尽量不要默认装在C盘。”

“噢,这个我知道。”铁柱回。

“好了,vscode我打开了。看好了哈,我在www里新建一个目录(文件夹)叫helloWorld,然后把它拖到vscode里面,就是打开了这个项目了。”

6.png

7.png

“然后在这块空白的地方右键,分别新建好几个文件。”

8.png

“喏,这就是一个最简单的项目组成结构,首页一般习惯上起名为index.html,实际上,这些所有文件你想怎么起名字都行。”李学习边指着屏幕边说。

接着李学习把index.html写上代码:

<html>

<head>
    <title>赵铁柱!</title>
    <!-- 这里是用相对路径引入刚才新建的static目录下的css -->
    <link href="./static/style.css" rel="stylesheet" />
</head>

<body>
    <script src="./static/main.js"></script>
    <!-- 同理,这里引入javascript -->
    <h1 class="text">Hello World</h1>
</body>

</html>

style.css写为:

/* 修改class="text"的html节点 */
.text{
    /* 文字颜色为红色 */
    color: red;
}

main.js写为:

//外面这层是等html元素加载完成,否则js获取不到元素节点
document.addEventListener('DOMContentLoaded', function () {
    var text = document.getElementByClassName('text'); //获取到class name为text的节点

    // 给获取到的第一个节点安排一个事,就是告诉它有人点击了就把这个节点里面的字改一下.
    // js中这种行为成为绑定事件,右边的function就是事件触发后要处理的东西,可以称为事件回调函数
    text[0].onclick = function () {
        this.innerHTML = "我是赵铁柱!";
    }
})

“我们回到文件管理界面,然后双击index.html,浏览器打开这个网页就算项目就跑起来了.”

9.png

李学习让铁柱亲自点击网页上文字。铁柱点了一下,出现了“我是赵铁柱!”几个字,就像看到一道光,一扇门在向自己敞开着,从此走向一个新的领域。

“点完,就算从我这毕业了。”李学习半开玩笑微笑着说,“好了,你继续琢磨一下这个项目注2,别看里面没啥东西,基本像个项目的样子,这是真实情况下代码稍微复杂而已。 我去睡了,我明早约好和莉莉要去图书馆自习。”莉莉是李学习的对象,两个学霸在一起最大的兴趣就是学习,李学习说完就去刷牙准备睡觉了。

“辛苦了,习。我再看看吧,我还要背面试题呢。”铁柱说。

“害,难得你说这种感谢的话。小意思。”

李学习停顿了一下,“祝你明天的‘试炼’顺利。”


上一篇:【第04话】三剑客(上)

下一篇:【第06话】沧海巫山

连载中,全集目录: 《烂俗前端》

未完待续,转载请注明出处。

注1:早期前端使用DW、Notepad++然后是sublimeText,现在主要用vscode

注2:我把本系列涉及到的源码会放到github,这里项目地址点这里

相关文章
|
前端开发 JavaScript
【第08话】试炼(下)《烂俗前端》
【第08话】试炼(下)《烂俗前端》
102 0
|
前端开发 算法 架构师
【第07话】试炼(上)《烂俗前端》
【第07话】试炼(上)《烂俗前端》
90 0
|
Web App开发 存储 前端开发
【番外01】吐血整理5万字100道高频基础面试题 无名面试集《烂俗前端》
【番外01】吐血整理5万字100道高频基础面试题 无名面试集《烂俗前端》
209 0
|
运维 前端开发 JavaScript
【第04话】 三剑客(上)《烂俗前端》
【第04话】 三剑客(上)《烂俗前端》
127 0
|
前端开发 JavaScript Linux
【第03话】无名《烂俗前端》
【第03话】无名《烂俗前端》
283 0
|
4月前
|
存储 人工智能 前端开发
前端大模型应用笔记(三):Vue3+Antdv+transformers+本地模型实现浏览器端侧增强搜索
本文介绍了一个纯前端实现的增强列表搜索应用,通过使用Transformer模型,实现了更智能的搜索功能,如使用“番茄”可以搜索到“西红柿”。项目基于Vue3和Ant Design Vue,使用了Xenova的bge-base-zh-v1.5模型。文章详细介绍了从环境搭建、数据准备到具体实现的全过程,并展示了实际效果和待改进点。
304 14
|
4月前
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
83 0
|
4月前
|
人工智能 自然语言处理 运维
前端大模型应用笔记(一):两个指令反过来说大模型就理解不了啦?或许该让第三者插足啦 -通过引入中间LLM预处理用户输入以提高多任务处理能力
本文探讨了在多任务处理场景下,自然语言指令解析的困境及解决方案。通过增加一个LLM解析层,将复杂的指令拆解为多个明确的步骤,明确操作类型与对象识别,处理任务依赖关系,并将自然语言转化为具体的工具命令,从而提高指令解析的准确性和执行效率。
|
4月前
|
存储 弹性计算 算法
前端大模型应用笔记(四):如何在资源受限例如1核和1G内存的端侧或ECS上运行一个合适的向量存储库及如何优化
本文探讨了在资源受限的嵌入式设备(如1核处理器和1GB内存)上实现高效向量存储和检索的方法,旨在支持端侧大模型应用。文章分析了Annoy、HNSWLib、NMSLib、FLANN、VP-Trees和Lshbox等向量存储库的特点与适用场景,推荐Annoy作为多数情况下的首选方案,并提出了数据预处理、索引优化、查询优化等策略以提升性能。通过这些方法,即使在资源受限的环境中也能实现高效的向量检索。
101 1
|
4月前
|
机器学习/深度学习 弹性计算 自然语言处理
前端大模型应用笔记(二):最新llama3.2小参数版本1B的古董机测试 - 支持128K上下文,表现优异,和移动端更配
llama3.1支持128K上下文,6万字+输入,适用于多种场景。模型能力超出预期,但处理中文时需加中英翻译。测试显示,其英文支持较好,中文则需改进。llama3.2 1B参数量小,适合移动端和资源受限环境,可在阿里云2vCPU和4G ECS上运行。
218 1

热门文章

最新文章

  • 1
    【Java若依框架】RuoYi-Vue的前端和后端配置步骤和启动步骤
  • 2
    【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 3
    【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
  • 4
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 5
    详解智能编码在前端研发的创新应用
  • 6
    巧用通义灵码,提升前端研发效率
  • 7
    【07】flutter完成主页-完成底部菜单栏并且做自定义组件-完整短视频仿抖音上下滑动页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
  • 8
    智能编码在前端研发的创新应用
  • 9
    【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
  • 10
    抛弃node和vscode,如何用记事本开发出一个完整的vue前端项目
  • 1
    以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
    24
  • 2
    大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
    43
  • 3
    【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
    25
  • 4
    巧用通义灵码,提升前端研发效率
    84
  • 5
    【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    137
  • 6
    详解智能编码在前端研发的创新应用
    92
  • 7
    智能编码在前端研发的创新应用
    75
  • 8
    【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    35
  • 9
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    111
  • 10
    【07】flutter完成主页-完成底部菜单栏并且做自定义组件-完整短视频仿抖音上下滑动页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
    73