作者:
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 所以又更沒有負擔