回答
匿名函數是一個沒有名字。例如,你可以這樣做:
(function(){ alert("Hello World!") })();
這將創建一個沒有名字的函數,立即調用它。如果代碼導致引發異常,則JavaScript運行時將報告匿名函數中的失敗。
此外,函數本身也是一個類,其名稱爲Function
。你可以使用這個類來定義這樣的新功能(而不是內置的語法):
(new Function("x", "y", "return x+y"))(1, 2);
這是幾乎一樣的文字:
(function(x, y) { return x + y })(1, 2);
這給你偷看轉化爲JavaScript功能的面向對象的特性。
匿名函數是一個沒有名字的函數。他們不是具體爲Javascript,看到http://en.wikipedia.org/wiki/Anonymous_function
對於JS,基本上不是這樣的:
function myFunc() { }
你可以這樣做:
var myFunc = function() { }
當調用Function()
功能(這是一個它返回給你一個函數。以這種方式動態創建的函數沒有名稱,所以給它一個名稱「anonymous」。
參見:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function
'+ 1' - 綁定到HTML元素的函數也是匿名的。例如,如果你有''並且在調試器下查看'foo.onclick',你會得到同樣的結果。 – 2012-02-02 19:53:51
如果我做'Function('test')',我會收到:'function anonymous(){ test }'。這仍然返回名稱爲「anonymous」的函數。最後一個參數是函數的主體,它之前的所有參數都是函數參數。 – Tadeck 2012-02-02 19:53:53
你的參數'test'指定了函數的代碼體。在調試器中沒有(標準)方法設置函數的名稱。 – 2012-02-02 19:54:16
這是一個古怪的方式Function.prototype.toString
多個瀏覽器的實現呈現通過Function
構造函數創建的函數,但它並不重要,它不出現在任何版本的EcmaScript規範。
通常命名函數
function anonymous(x) {
if (x) {
alert('hi');
} else {
anonymous(!x);
}
}
將alert
不管傳遞的價值,因爲該函數的名稱可用於遞歸調用它(模IE漏洞),但這是不符合的情況下通過new Function
創建anonymous
。
(new Function('x', 'if (x) alert("hi"); else anonymous(!x);'))(false)
失敗並顯示錯誤。
+1 for *「這是一個怪癖......它並不重要,它不會出現在任何版本的EcmaScript規範中。」*。 '函數();匿名(); // ReferenceError' – 2012-02-02 20:06:28
- 1. javascript函數名稱中的$是什麼意思?
- 2. javascript:函數語法是什麼意思?
- 3. :: at函數名是什麼意思?
- 4. 函數($)是什麼意思?
- 5. 鑑於下面的匿名函數,函數簽名中的「<fun:[email protected]>」是什麼意思?
- 6. 是什麼意思:是什麼意思?
- 7. javascript:/ * @ @ * /是什麼意思?
- 8. JavaScript是什麼意思?
- 9. 什麼是javascript someValue || {} 意思?
- 10. 「javascript://」是什麼意思?
- 11. JavaScript是什麼意思?
- 12. Javascript是什麼意思?
- 13. 匿名函數錯誤和什麼是匿名函數?
- 14. JavaScript中的高階函數是什麼意思?
- 15. 什麼是函數($)在JavaScript中的意思?
- 16. javascript中的「構造函數」是什麼意思?
- 17. 是什麼意思:!在JavaScript中的函數?
- 18. JavaScript中的$符號是什麼意思?
- 19. JavaScript中的{content:[Circular]}是什麼意思?
- 20. JavaScript中的「/ 1 /」是什麼意思?
- 21. Javascript中的功能是什麼意思?
- 22. JavaScript中的「function(){get:function(...){...}}」是什麼意思?
- 23. 什麼是~~在JavaScript中的意思?
- 24. javascript中的$(「something」)是什麼意思?
- 25. javascript中的function(){}是什麼意思?
- 26. Javascript中的符號「:」是什麼意思?
- 27. Javascript中的obj [''是什麼意思?
- 28. javascript中的「!〜」是什麼意思
- 29. 什麼是0;在javascript中的意思
- 30. JavaScript中的`1..something`是什麼意思?
-1請再看看這個問題 - 你會發現問題是關於函數anonymous(){'從控制檯 - 請參閱截圖OP包括。 – Tadeck 2012-02-02 19:49:21