梵蒂冈之花
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 msvar-with-if 429.320 mslet-without-if 430.505 msvar-without-if 425.150 ms