JS--初窥之闭包的理解

  闭包包含自由(未绑定到特定对象)变量,这些变量不是在这个代码块内或者任何全局上下文中定义的,而是在定义代码块的环境中定义(局部变量)。“闭包” 一词来源于以下两者的结合:要执行的代码块(由于自由变量被包含在代码块中,这些自由变量以及它们引用的对象没有被释放)和为自由变量提供绑定的计算环境(作用域)。

  闭包是一个函数内return出来的另一个函数,被return出来的这个函数可以使用其他子函数的私有变量。

  闭包会导致内存的泄露(实际是占用了内存无法释放)。

  闭包的作用:(1)实现了公有变量

                       (2)做缓存

                       (3)实现封装

  这里可以提到js中另外一种函数执行的形式:立即执行函数。

    或  

  使用立即执行函数的好处:执行大量的封装操作而不会留下全局变量的污染。

  

猜你喜欢

转载自blog.csdn.net/qq_38021852/article/details/80696352
今日推荐