warum var Deklaration schnell als sie
'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();
den Code oben in Chrom ausgeführt, warum test1 schnell als Test. Ist das Schuld oder meine Schuld?
50000000
test: 1146
50000000
test1 : 148
In Firefox sehe ich dieses Verhalten nicht. Ich bekomme für beide Funktionen rund 100 Millisekunden. – Pointy
Ich bezweifle, dass irgendjemand, aber ein Chrome-Entwickler, diese Frage beantworten könnte, und ich bezweifle, wie nützlich es ist, diese spezielle Eigenart der Implementierung von Scoping-Einbauten zu verstehen (aber ich gebe zu, dass ich falsch liege). – apsillers
'Let' zwingt die Erstellung eines zusätzlichen Bereichs. Es wird wahrscheinlich einige Zeit verloren sein, dies zu schaffen. –