Javascript 深奥的JS问题

Javascript 深奥的JS问题,javascript,theory,Javascript,Theory,这种构造在JS中不起作用有什么特别的原因吗?(JSLint不接受它。) 我可以看到这种类型的链接将永远持续下去,或者至少在人们想要/需要的范围内 有人有什么想法吗?嗯。。。是的,它不会工作,因为在匿名函数的参数列表中嵌入匿名函数没有意义。你想具体说明什么?嗯。。。是的,它不会工作,因为在匿名函数的参数列表中嵌入匿名函数没有意义。您想指定什么?您可以创建一个匿名函数,该函数接受一个函数作为参数,并立即将另一个匿名函数传递给它: (function(fn) { })(function() { })

这种构造在JS中不起作用有什么特别的原因吗?(JSLint不接受它。)

我可以看到这种类型的链接将永远持续下去,或者至少在人们想要/需要的范围内


有人有什么想法吗?

嗯。。。是的,它不会工作,因为在匿名函数的参数列表中嵌入匿名函数没有意义。你想具体说明什么?嗯。。。是的,它不会工作,因为在匿名函数的参数列表中嵌入匿名函数没有意义。您想指定什么?

您可以创建一个匿名函数,该函数接受一个函数作为参数,并立即将另一个匿名函数传递给它:

(function(fn) { })(function() { })

但是我想不出一个有用的理由来这样做。

您可以创建一个匿名函数,它接受一个函数作为参数,然后立即将另一个匿名函数传递给它:

(function(fn) { })(function() { })
但是我想不出一个有用的理由来这样做。

你的意思是:

(function () {
// ...
})((function () {
// ...
})());
你是说:

(function () {
// ...
})((function () {
// ...
})());

function(){…}
不是有效的参数名称,因此在另一个函数的参数列表中无效。您是否正在考虑类似于
(函数(foo){…})(函数(){…})
?您的第二个函数是参数值,并且是参数名称应该位于的位置。就像下面的“5”:函数abc(5){…}我将一个函数的返回值作为参数传递给下一个函数。这是无效的JS。
function(){…}
不是有效的参数名称,因此在另一个函数的参数列表中无效。您是否正在考虑类似于
(函数(foo){…})(函数(){…})
?您的第二个函数是参数值,并且是参数名称应该位于的位置。就像下面的“5”:函数abc(5){…}我将一个函数的返回值作为参数传递给下一个函数。这是无效的JS。