我起初认为看起来既自我调用函数,它们之间相同的唯一区别是第一个我想过去的回调函数,然后通过参数执行的对象,而在第二次做同样的事情通过使功能自我调用。现在就来访问父变量的点在第一个例子名为“undefined
”,而在第二个例子是访问,并给予输出“Nishant
”我无法弄清楚它是如何工作的!父函数变量访问
(function(){
var name = "Nishant";
arguments[0]();
})(function(){console.log(name);});
输出:(空字符串)
(function(){
var name = "Nishant";
(function(){console.log(name);})()
})();
输出:NISHANT
Ref:http://javascriptissexy.com/understand-javascript-callback-functions-and-use-them/回调函数是闭包当我们将回调函数作为参数传递给另一个函数时,回调会在某些就像在包含函数中定义回调一样,指向包含函数的内部体。这意味着回调本质上是一个封闭。阅读我的详细信息,了解更多关于闭包的轻松理解JavaScript闭包。 –
你可以给我(或者链接)一个回调函数的例子,该回调函数作为一个参数被传递给函数,因为我不能重现你所描述的函数。 – Winchestro
好吧,我已经阅读了这两篇文章以及你对它的评论(这是你在这里写的东西的一个副本),并且仍然没有按照你的思路或重构任何回调关闭的情况。如果我愿意的话,这会让我的生活变得轻松许多,所以请给我一个提示,告诉我你是如何设法回调封闭的。 – Winchestro