我已经看到了,声称要加快函数调用的开销如Javascript代码:减少javascript函数调用开销
function foo() {
// do something
}
function myFunc() {
var fastFoo = foo; // this caches function foo locally for faster lookups
for (var i = 0; i < 1000; i++) {
fastFoo();
}
}
我看不出这样可以加快JavaScript函数调用的开销,因为它似乎对我来说,它只是一个内存查找,无论是在当前堆栈的顶部(对于fastFoo)还是在堆栈的其他地方(我不确定全局上下文存储在哪里......任何人?)。
这是古代浏览器的遗迹,是一个完整的神话还是真正的改进增强器?
正如你所说,这在现代浏览器中可能微不足道。 – 2011-03-03 15:04:17
JavaScript使用词法范围。 2009年,Nicholas Zakas发表了一篇关于JavaScript性能的Google Tech Talk(https://www.youtube.com/watch?v=mHtdZgou0qU#t=4m20s)(链接到关于Scope链的章节)。查看[更多JSPERF](https://www.mediawiki.org/wiki/JSPERF)。 – Krinkle 2012-03-19 09:35:21