楼主:
illl (ill!)
2016-11-12 15:20:04{
console.time("loop");
for (var i = 0; i < 1000000; i += 1){
// Do nothing
}
console.timeEnd("loop");
}
在网络上看到 ( https://www.toptal.com/nodejs/interview-questions )
说上面这段code
node的执行速度会比chrome浏览器快
虽然都是用v8引擎
原因是
因为i是global,会被绑在window object上
然后会
repeatedly resolving the property i within the heavily populated
window namespace in each iteration of the for loop.
上面这句英文理解不能
可以请大大开释一下吗?
感谢
作者:
LPH66 (-6.2598534e+18f)
2016-11-12 16:09:00浏览器的全域变量都是属于 window 这个物件而 window 底下有超多东西, 在里面找人找一百万次很慢但 node 的全域变量属于 global 这物件里面东西没有浏览器的 window 那么多, 所以比较快再者 node 直接宣告 var 宣告的是 module-local 变量只属于这个 module 所以又更没有负担