从切图到AI:前端人必懂的JS进化史与HTML核心知识点

11 阅读6分钟

最近整理学习笔记时,突然意识到前端技术的发展就像一场接力赛——从最开始的"切图崽"到现在用AIGC生成代码,每个阶段都藏着技术演进的底层逻辑。结合最近复习的面试知识点和实际代码案例,今天咱们就从JS的诞生聊到HTML5语义化,再看看前端技术的未来方向。


一、JS为什么会出现?从静态网页到交互时代的必然

20年前的网页是什么样的?我翻到最早的学习资料里有张老照片:满屏的div+css堆砌,文字图片像贴在墙上的报纸,点击按钮不会有任何反应,评论功能?不存在的。那时候的前端被戏称为"切图崽",主要工作就是把设计师的PSD转成静态HTML。

直到有个关键问题出现:网页需要"活"起来。用户要看实时新闻、要提交表单、要和页面互动,这时候静态的HTML+CSS就像没有发动机的汽车——能看但不能用。1995年,Brendan Eich用10天创造了JS,这个天生和HTML/CSS绑定的脚本语言,让网页第一次有了"灵魂"

早期的JS有多简单?看我翻出的3.html案例:

<button onclick="document.getElementById('msg').innerHTML='你点击了'">点我</button>
<p id="msg">你还没有点击按钮</p>

一个点击事件就能修改页面内容,这种"即写即生效"的特性,让网页从"只读文档"变成了"可交互应用",从此这种能让用户互动的动态网页发展开始一发不可收拾,我们正式进入了PC时代


二、大厂面试必问的HTML核心:从元素分类到语义化标签

现在面试前端,HR随便抽个问题都可能涉及HTML底层逻辑。我整理了最近高频考点,重点说三个方向:

1. <!DOCTYPE html>到底是什么?

很多新手会忽略这个声明,其实它是HTML5的"身份证"。早期HTML有各种版本(HTML4、XHTML),不同浏览器解析规则不同,经常出现"在Chrome正常,IE乱码"的情况。HTML5统一标准后,<!DOCTYPE html>告诉浏览器:"按最新规范解析,别用老掉牙的怪异模式"。

回答:是一个文档,html5标准头申明。

3629b0a6ed2ff5a3b6ae212f57cdd063.jpg

2. 行内元素vs块级元素:为什么span不能设置宽高?

这是面试官最爱考的基础题。我用1.html里的例子解释:

<!-- 行内元素 -->
<span style="color:red">红色</span>
<a href="https://www.baidu.com">百度页面</a>

<!-- 块级元素 -->
<div class="box"></div>
<p>这是最后一段</p>

image.png

  • 行内元素(span/a/img):像排队的人,只会占据内容本身的宽度高度,不会强制换行。你给span设置width:80px,浏览器会默默忽略——这是行内元素的"天性"。
db392ec430b070056ac341051713c468.jpg

span这里可以看到span的宽高并,没有被改变而是被默认忽略。

image.png image.png

  • 块级元素(div/p/ul):像占座的桌子,默认宽度占满父容器,会把后面的元素"挤"到下一行。比如p标签,不管内容多少都会单独成段。

调试技巧:新手分不清时,给元素加background-color,块级元素会显示一整行的背景,行内元素只会包裹内容。

3. HTML5语义化标签:为什么div不再是万能?

以前的页面有多"粗暴"?我见过用divdivdiv的代码,注释都没有,维护时像拆炸弹。HTML5推出的语义化标签(header/footer/main/article/aside),本质是给页面"加注释"。

2.html的实际案例:

<header class="header">header</header>
<nav class="nav">nav</nav>
<main class="main">
    <article class="article">文章内容</article>
    <aside class="aside">侧边栏</aside>
</main>
<footer class="footer">footer</footer>
  • 搜索引擎:看到article就知道这是主要内容,aside是辅助信息,SEO排名会更高;
  • 屏幕阅读器:读到header会提示"这是页面头部",视障用户能更清晰理解结构;
  • 开发维护:看到标签名就能知道功能,比div class="header"直观十倍。

见文知意,比传统的div 标签更好理解html的结构和意义, 更好维护, 爬虫更好(SEO)更利于搜索引擎优化。


三、JS的进化:从页面交互到AI时代的全能选手

JS的发展简直像开了挂,我整理了几个关键阶段:

1. 刀耕火种时代(1990s-2000s)

那时候JS主要做简单交互:表单验证、弹窗提示、动态修改内容。代码基本直接写在HTML里,比如onclick事件,和现在的"模块化"完全没法比。

2. PC博客时代(2000s-2010s)

随着博客、论坛兴起,JS开始处理更复杂的需求:动态加载内容(AJAX)、前端路由、数据可视化。这时候出现了JQuery这样的库,用$('p').hide()就能批量操作DOM,大大降低了开发门槛。

3. 移动互联网时代(2010s-2020s)

手机屏幕的普及带来新挑战:页面需要适配不同尺寸,交互要更流畅。这时候JS从"页面脚本"进化为"全能选手"——Node.js让JS能写后端,React Native让JS能开发移动端App,前端工程师终于不用再"前后端分离"。

4. AIGC时代(2020s-)

最近最火的就是AI生成代码。我试过用LLM工具生成2.html的语义化结构,它甚至能自动补全headerfooter的样式。JS因为生态庞大(NPM有百万级库)、学习门槛低,成了AI应用开发的热门语言——用JS调用AI接口,分分钟就能做出智能聊天、图像生成的小工具。

现在我们就处于LLM时代,就拿上面的比较举例子,继上次3月份deepseek更新后,html功能明显更加强大,我如果想要让你更深入一点了解各个时代的背景和核心特征,完全可以让deepseek帮忙生成:

屏幕录制 2025-05-15 124119.gif

有点意思啊,这小子还特意形成响应式的呢。你也可以加上你自己喜欢的背景,比如说背景太单调了让它生成动态背景,什么星空啊,Q一点啊,赛博朋克风格啊,给它说就好了,你越详细,它生成的越好。

确实挺不错的:

bce318acd96ce17e862410e28200b979.jpg

屏幕录制 2025-05-15 125920.gif


四、未来:前端工程师的新战场

聊到这里,我突然想到面试时被问过的一个问题:"AGI时代,前端工程师会被取代吗?"我的答案是:不会,但能力模型会变

未来的前端需要更懂:

  • 语义化与可访问性:随着AI助手普及,页面结构必须更清晰,才能被机器正确理解;
  • 跨端开发:JS能写Web、App、小程序,甚至嵌入式设备,多端协同能力会更重要;
  • AI工具整合:用AIGC生成基础代码,自己专注业务逻辑和体验优化,这会是新的工作模式。

最后想说,前端技术的魅力就在于"变化"。从当年的console.log('hello world')到现在用AI写代码,每个阶段都在解决新问题。与其焦虑被取代,不如抓住核心:理解HTML的本质(内容结构)、掌握JS的逻辑(交互控制)、保持学习新技术的热情——这才是前端人最硬的"护城河"。

完整代码在GitHub