有什么特别的理由,这种构造不会在JS中工作? (JSLint的不接受它。)Esoteric JS问题
(function(function(){
}){
})()
我可以看到这种类型的链接事情永远,或者至少就一个希望/需要。
有没有人有任何想法?
有什么特别的理由,这种构造不会在JS中工作? (JSLint的不接受它。)Esoteric JS问题
(function(function(){
}){
})()
我可以看到这种类型的链接事情永远,或者至少就一个希望/需要。
有没有人有任何想法?
嗯......是的,它不会工作,因为在匿名函数的参数列表中嵌入一个匿名函数是没有意义的。你想指出什么,在那里?
您可以创建一个接受函数作为参数的匿名函数,并立即传给另一个匿名函数:
(function(fn) { })(function() { })
但我想不出做一个单一的有用的原因。
您是不是要找:
(function() {
// ...
})((function() {
// ...
})());
'函数(){...}'是不是一个有效的参数名称,所以是不是在另一个函数的参数列表有效。你是否想过类似'(function(foo){...})(function(){...})'? – 2009-09-08 19:16:23
您的第二个_function_是参数值,并且是参数_name_的位置。它就像下面的“5”:function abc(5){....} – NVRAM 2009-09-08 19:31:12
我将一个函数的返回值作为参数传递给下一个函数。这是无效的JS。 – jerome 2009-11-06 19:02:24