作用域和闭包

作用域:规定变量在什么地方可以用,在什么地方不能用。

// 全局作用域

function a1(){

  // a1 作用域

  function a2(){

    // a2 作用域

  }

}

 

闭包:一个具有封闭的对外不公开的包裹结构或者空间

为什么函数可以构成闭包?

闭包是一个具有封闭与包裹功能的结构,是为了实现具有私有访问空间的函数的。

函数内部定义的数据函数外部无法访问,即函数具有封闭性,函数可以封装代码即具有包裹性,所以函数可以构成闭包。

闭包有什么作用:保存自己的私有变量,通过提供的接口方法给外部使用,但外部不能直接访问该变量。

闭包的缺点:常驻内存,会增大内存使用量,容易造成内存泄露。

posted @ 2019-08-12 15:39  要好好生活啊  阅读(172)  评论(0编辑  收藏  举报