atq

导航

统计
 

闭包就是能够读取其他函数内部变量的函数。例如在javascript中,只有函数内部的子函数才能读取局部变量,所以闭包可以理解成“定义在一个函数内部的函数“。在本质上,闭包是将函数内部和函数外部连接起来的桥梁。

闭包的形成与变量的作用域以及变量的生存周期密切相关。

  1. 外部可以访问内部变量。
  2. 内部变量的生命周期延长。

例:

var closure = function(){
  var count = 0;
  return function(){
    count ++;
  }
}
closure(); // 1
closure(); // 2

 

例2:

function demo(){
  var result = [];
  for(var i = 0;i < 10;i++){
    result[i] = (function(num){
      return function(){
        console.info(num);
      }
    })(i);
  }
  return result;
}

var demoObj = demo();
for(var i = 0;i < 10;i++){
demoObj[i]();
}

posted on   atq  阅读(122)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
 
点击右上角即可分享
微信分享提示