3
'use strict'
function test() {
let t = Date.now();
let p = 0;
for (let i = 0; i < 100000000; i++) {
p += i % 2;
}
console.log(p)
console.log('test: ', Date.now() - t);
}
function test1() {
var t = Date.now();
var p = 0;
for (var i = 0; i < 100000000; i++) {
p += i % 2;
}
console.log(p)
console.log('test1 : ', Date.now() - t);
}
test();
test1();
は、クロムで上記のコードを実行してみましょうよりも、なぜのvar宣言。 let 'faultまたはmy faultですか?
50000000
test: 1146
50000000
test1 : 148
Firefoxでは、私はその動作が表示されません。私は両方の機能について約100ミリ秒かかる。 – Pointy
私はChrome開発者だけではこの質問に答えることはできないと思っていますが、Chromeのスコープ内部実装のこの特有の癖を理解することの有用性は疑問です(しかし、間違いかもしれません)。 – apsillers
'let'は追加スコープの作成を強制します。それを作成するには時間がかかる可能性があります。 –