美文网首页
3.5.2.3相关定义与闭包-闭包《js面向对象编程》

3.5.2.3相关定义与闭包-闭包《js面向对象编程》

作者: 坐忘算法 | 来源:发表于2019-11-12 19:28 被阅读0次

    3.5.2.3相关定义与闭包

    事实上每个函数都可以被认为是一个闭包,因为每个函数哦都在其所在作用域中维护了某种私有联系,但是大多数时候,该作用域在函数体执行完成之后就自行销毁了---除非发生一i写有趣的事,导致作用域被保持。

    根据目前的讨论,我们可以说,如果一个函数会在其父级函数返回之后留住对父级作用域的链接的话,相关的闭包就会被创建起来,但是其实每个函数本身就是一个闭包,因为每个函数至少都有访问全局作用作用域的权限,而全局作用域是不会被破坏的。

    让我们再来看一个闭包的例子。这次我们使用的是函数参数。该参数与函数的局部变量没什么不同。但是它们是隐式创建的,即他们不需要使用var来声明。我们再这里创建了一个函数,该函数将返回一个子函数,而这个子函数返回的则是其爸爸函数的参数

    函数所绑定的是作用域本身,而不是函数定时该作用域中的变量或者变量当前所返回的值。

    相关文章

      网友评论

          本文标题:3.5.2.3相关定义与闭包-闭包《js面向对象编程》

          本文链接:https://www.haomeiwen.com/subject/nbgqictx.html