2 回答
TA贡献1900条经验 获得超5个赞
var和let主要是作用域不同,那可以使用现代浏览器都带有的performance api自己测一测。
var repeat = 1e8;
function benchmark(fn, fname, n){
var start = performance.now();
for(var i=0;i<n;i++){
fn(i);
}
var end = performance.now();
console.log(fname, parseFloat(end-start).toFixed(3), "ms");
}
benchmark(function(i){
if(true){
let a = i
}
}, 'let-with-if', repeat);
benchmark(function(i){
if(true){
var a = i;
}
}, 'var-with-if', repeat);
benchmark(function(i){
if(true){}
let a = i;
}, 'let-without-if', repeat);
benchmark(function(i){
if(true){}
var a = i;
}, 'var-without-if', repeat);
打开控制台,自己跑一跑就知道了。
在我的机器上:
let-with-if 60.645 ms
var-with-if 429.320 ms
let-without-if 430.505 ms
var-without-if 425.150 ms
添加回答
举报
