0
用於在JavaScript中存儲函數名稱的數據結構的本質是什麼?JavaScript中的命名和未命名函數
換句話說,評估此代碼時存儲的字符串「Foo」(即函數名稱Foo
)在哪裏?
function Foo() {}
另外,做匿名函數有一個隱藏的名字嗎?
用於在JavaScript中存儲函數名稱的數據結構的本質是什麼?JavaScript中的命名和未命名函數
換句話說,評估此代碼時存儲的字符串「Foo」(即函數名稱Foo
)在哪裏?
function Foo() {}
另外,做匿名函數有一個隱藏的名字嗎?
哪裏是字符串「foo」(即,函數foo的名稱)存儲
在全球範圍內。
您可以通過使用self invoking anonymous function避免這種情況:
(function() {
alert('Hello World');
})();
,或者通過局部範圍內關聯一個變種的功能:
function myBigFunction() {
var myfunction = function foo(){alert('Hello World');};
}
沒有隱藏名字。
好的,我知道這一點。我正在考慮是否存在類似於保存功能元數據的執行上下文(即解釋器內部的數據結構)的東西? – Ben 2014-12-19 11:09:39
@如果有它,它不是可訪問的api,afaik的一部分,並且將依賴於特定的解釋器。 – NimChimpsky 2014-12-19 11:11:55