分别尝试下面的两个代码并亲自查看结果。实际上,这可能不是最准确的测试用例,但是通过避免所有其他操作并在足够长的 for 循环内进行简单分配,它应该足够准确。
我不得不说,我也很惊讶地发现,通过不指定window
Chrome,第二个代码的执行速度持续提高了 20%。
代码 1
// window.testvar testcase.
window.testvar = 'Hi there! I am a testvar!';
var tmp;
var start = new Date();
for(var i = 0; i < 1000000; i++){
tmp = window.testvar;
}
var stop = new Date();
console.log('This took exactlly ' + (stop.getTime() - start.getTime()) + ' milliseconds!');
结果:
- 1695毫秒
- 1715毫秒
- 1737毫秒
- 1704毫秒
- 1695毫秒
代码 2
// direct testvar testcase
testvar = 'Hi there! I am a testvar!';
var tmp;
var start = new Date();
for(var i = 0; i < 1000000; i++){
tmp = testvar;
}
var stop = new Date();
console.log('This took exactlly ' + (stop.getTime() - start.getTime()) + ' milliseconds!');
结果:
- 1415毫秒
- 1450毫秒
- 1422毫秒
- 1428毫秒
- 1450毫秒
在 Chrome 20.0.1132.47 中测试。