javascript - 在使用 Javascript 和块范围的循环之前分配变量是否运行得更快?
问题描述
这是真的:
可以放在循环之外的语句或赋值将使循环运行得更快。
坏:
var i; for (i = 0; i < arr.length; i++) {
更好的代码:
var i; var l = arr.length; for (i = 0; i < l; i++) {
https://www.w3schools.com/js/js_performance.asp
更新:
在循环之前声明 i 的目的是什么?
解决方案
它可以使代码更快一点。在第一个片段中,每次迭代时,引擎都必须评估
arr.length
查找数组的大小可能比查找普通变量所指的整数需要更多的处理时间。
在第二个片段中,您只需查找一次数组的大小,而不是每次迭代。
也就是说,考虑到当今计算机的速度有多快,这种考虑几乎可以肯定在 99.9% 的情况下是无关紧要的。最好先编写干净可读的代码,然后仅在出现问题时才优化性能。
推荐阅读
- node.js - 谷歌表格 api 连接 - 没有“新”就无法调用错误 JWT
- python - 运行“python main.py”时,python编译器是将整个文件编译成字节码还是逐行编译并执行?
- java - com.ibm.websphere.ce.cm.StaleConnectionException:IO 错误:在 OracleDb 上用 PDF 更新插入记录时连接重置
- swift - 有没有办法以编程方式更改在 Reality Composer 中创建的实体的材质?
- node.js - 打开网址并在后台写入
- android - 如何从 ViewModel 引用视图(例如 Spinner 值)
- python-3.x - 使用 gensim.utils.simple_preprocess 过滤特殊字符失败
- ruby-on-rails - 尝试获取与我的平台表链接的简单表单的问题
- git - Git Pull Failed Invocation failed 来自服务器的文件意外结束
- angular - 从输入角度取消定义值