关闭

如何理解闭包?

标签: 闭包
275人阅读 评论(0) 收藏 举报
分类:

摘抄网上一个人的解释。

闭包很简单,就是在函数定义时把函数外部的环境打包进函数内,使得在函数体内可以访问到函数体外的环境(主要是访问函数体外的变量)

// 假设这里的环境为 (1)

function(){
  // 假设这里的环境为 (2)

  function(){
    // 假设这里的环境为 (3)

  };
};

在环境(1)中只能访问到环境(1)的变量,但是环境(2)中能同时访问到环境(1)(2)中的变量。环境(3)中能同时访问到环境(1)(2)(3)中的变量。

函数在定义时,把函数体外部的环境全部打包进了函数,使得函数体内可以访问到函数体定义外面的环境。这个函数+所打包的外部环境就称之为闭包。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:121053次
    • 积分:4281
    • 等级:
    • 排名:第7077名
    • 原创:97篇
    • 转载:27篇
    • 译文:9篇
    • 评论:988条
    博客专栏