在 Javascript 中使用 for 循环的 HTML 标记是否比普通的 HTML 标记慢?

问题描述

我将要标记很长的页面,并开始对使用 javascript 的 HTML 标记提出疑问。

因为我用的是 Vue.js,我一般用 for 循环做标记,但我的前辈做标记没有任何循环(for 循环行),所以代码长度超长,看起来不干净和紧。然而,他告诉了我一些我不明白的奇怪的(从我的角度来看)事情。

他所说的在没有 javascript for 循环的情况下进行标记在加载方面要快得多。此外,对于每个组件,在没有 js for 循环的情况下编写标记可以更轻松地一次显示所有功能,因为使用 js 进行标记可能会加载 html 更慢,因此它根本不会同步页面。>

目前,我根本不相信这个理论。所以我想知道循环行(例如表行)的 for 循环标记和没有任何 javascript 代码的 html 标记间的区别,以使其更简单。请让我知道,以便我可以了解有关编码的更多信息。

解决方法

使用 JavaScript 向页面呈现内容为浏览器处理引擎增加了一层复杂性。

用极其简单的术语来说,当浏览器从服务器获取 HTML 时,它开始自上而下将数据解析为 HTML。 (即使脚本标签也需要在脚本运行之前解析为 HTML。否则浏览器怎么知道它是脚本标签?)按照文档的顺序,HTML 内容被渲染到页面,脚本按原样执行遇到了。

当浏览器遇到改变 DOM 的 JavaScript 代码时,浏览器必须首先执行你的代码,观察 DOM 是否被修改,然后重新绘制被修改的屏幕区域。

记住 JavaScript 代码是同步执行的,如果浏览器没有遇到改变 DOM 的代码,它会显着降低内容需要绘制到屏幕上的次数。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...