我已經看到了,聲稱要加快函數調用的開銷如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