当前位置:  开发笔记 > 编程语言 > 正文

回调函数总是关闭吗?

如何解决《回调函数总是关闭吗?》经验,为你挑选了1个好方法。

在Javascript中,回调函数总是一个闭包?如下所示,反之不是真的[?]:

function makeFunc() {
  var name = "Mozilla";
  function displayName() {
    alert(name);
  }
  return displayName;
};

var myFunc = makeFunc();
myFunc();

myfunc闭包在哪里,而不是回调.

闭包是从其封闭环境继承变量的函数.当你将函数回调作为参数传递给另一个将执行I/O的函数时,这个回调函数将在稍后调用,并且这个函数将 - 几乎神奇地 - 记住声明它的上下文,以及所有可用的变量在那种情况下和任何父母背景.这一强大功能是Node成功的核心.

来自其他链接:

此外,因为回调的行为就像它们实际上放在该函数中一样,它们实际上是闭包:它们可以访问包含函数的变量和参数,甚至来自全局范围的变量.

链接

当我们将回调函数作为参数传递给另一个函数时,回调是在包含函数体内的某个点执行的,就好像在包含函数中定义了回调一样.这意味着回调是一个闭包.阅读我的帖子,了解更多关于闭包的JavaScript闭包.我们知道,闭包可以访问包含函数的作用域,因此回调函数可以访问包含函数的变量,甚至可以访问全局作用域中的变量.

c-smile.. 7

回调总是关闭?

这些是正交术语.

回调是一个函数引用传递给另一个要从其内部调用的函数.

闭包始终是一个使用外部函数变量的内部函数.如果内部函数不使用任何外部变量,那么它"什么都不关闭" - 只是一个函数,就像任何其他函数一样.



1> c-smile..:

回调总是关闭?

这些是正交术语.

回调是一个函数引用传递给另一个要从其内部调用的函数.

闭包始终是一个使用外部函数变量的内部函数.如果内部函数不使用任何外部变量,那么它"什么都不关闭" - 只是一个函数,就像任何其他函数一样.

推荐阅读
pan2502851807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有