html 元素为什么能被实时修改?

无论java还是 C++,都是要重新编译还能生效
为什么html 网页修改了就能生效

阅读 3.3k
4 个回答

你说的java之类的语言,修改了代码后,通过编译器编译才会看到最新结果。

前端html是浏览器渲染,你修改后依然是要通过浏览器来解析DOM树、CSS样式等,才会生效(你可以理解为这同样是一个转换代码到页面结构的过程)。当然这也是需要时间的,只是这一切都是浏览器完成的工作,浏览器做了极致的优化,当你只改变HTML某个部分的时候,它可以做到只重新渲染那一小部分东西,所以在你的改动不会阻塞渲染或者不会触发整个页面重绘的时候,你是很难感知到的(很多时候就是一瞬间的事)。但是一旦你的改动阻塞了这个解析和渲染的过程或者引起了整个页面的重绘,那你就能明显感觉到并不是马上就生效了,会出现白屏、卡顿或者延迟等。

也不是改了就生效的,浏览器会重新render的,涉及到回流和重绘

编译语言和解析语言。
编译语言需要转换进二进制后运行。
解析语言逐行边解析边运行。

这个涉及到代码到展示(运行)过程处理机制。
java、C++这种语言编写的代码,一般是需要编译后独立(或在特定的环境中)运行的,
而HTML则是需要在特定环境中直接解析渲染展示,
如果把HTML当着一种程序语言的话,它和脚本语言类似,不需要编译,直接在特定的环境下即可运行而已。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题