回答
匿名函数是一个没有名字。例如,你可以这样做:
(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. :: at函数名是什么意思?
- 3. 鉴于下面的匿名函数,函数签名中的“<fun:[email protected]>”是什么意思?
- 4. 是什么意思:是什么意思?
- 5. 什么是javascript someValue || {} 意思?
- 6. javascript:/ * @ @ * /是什么意思?
- 7. 匿名函数错误和什么是匿名函数?
- 8. javascript中的“构造函数”是什么意思?
- 9. 什么是函数($)在JavaScript中的意思?
- 10. JavaScript中的`1..something`是什么意思?
- 11. JavaScript中的$符号是什么意思?
- 12. Javascript中的符号“:”是什么意思?
- 13. javascript中的“!〜”是什么意思
- 14. Javascript中的功能是什么意思?
- 15. javascript中的function(){}是什么意思?
- 16. javascript中的$(“something”)是什么意思?
- 17. 什么是~~在JavaScript中的意思?
- 18. 什么是目录名'。'和'..'是什么意思,faDirectory是什么意思?
- 19. 这个C++函数是什么意思?
- 20. 空的Javascript函数?这是什么意思?
- 21. BASIC:函数名称末尾的感叹号是什么意思?
- 22. php.net上的函数签名是什么意思?
- 23. 在JavaScript中,“i = + i”是什么意思?
- 24. 什么意思是'?'在Javascript中?
- 25. 在JavaScript中,0 === 4是什么意思?
- 26. 什么是!在JavaScript中意思?
- 27. 匿名函数究竟是什么?
- 28. JavaScript中的匿名函数
- 29. 为什么JavaScript中的匿名函数有名字?
- 30. 什么(?:*)的意思是在JavaScript的RegExp
-1请再看看这个问题 - 你会发现问题是关于函数anonymous(){'从控制台 - 请参阅截图OP包括。 – Tadeck 2012-02-02 19:49:21