7os*_*oso 7 javascript for-loop
在以下代码中:
for (var i = 0; i < object.length; i++){
....
}
Run Code Online (Sandbox Code Playgroud)
object.length每次迭代时都会对操作进行评估吗?
最有意义的是语言将对此进行一次评估并保存结果.但是,我正在阅读一些代码,其中有人在循环开始之前评估了操作,并将其存储在最终条件中使用的变量中.
不同的语言处理不同吗?Javascript的任何特定信息?
这显然取决于语言.对于JavaScript,规范(ECMAScript§12.6.3)要求每次都要对它进行评估.作为优化,特定的JavaScript运行时可以跳过一个或多个长度调用,如果它可以证明结果不会改变.