闭包简单理解就是能够读取其他函数内部变量的函数,而在javascript中只有内部函数可以读取函数的内部变量,所以我们学习javascript时可以这样理解,函数A中嵌套了一个函数B,然后我们用函数B来取得函数A的内部变量,那么这个函数B就是一个闭包。

闭包的实质就是将函数内部和外部链接起来的桥梁。

 function A(){
    var n=2;
    function B(){
      alert(2);
    }
    return B;
  }
  var result=A();
  result();

闭包的主要用途:

1.获取函数内部变量。(如上述例子所示)

2.让这些变量的值始终保存。

3.为节点绑定事件时,在事件函数中使用当次循环的值或节点,而不是最后一次循环的值或节点。

4.可以设置私有属性,并且利用特权访问这些属性。

var foo = function(){
var name = 'fooName';
this.getName = function(){
return name;
};
}
var foo1 = new foo();
foo1.name;//undefined
foo1.getName()//fooName
但是闭包会导致内存泄漏等一系列问题,所以应该减少闭包的使用。

最新文章

  1. 以bank account 数据为例,认识elasticsearch query 和 filter
  2. python之最强王者(3)——变量,条件、循环语句
  3. Android 网络框架 volley源码剖析
  4. qt creator中使用qwt插件
  5. java中的线程创建和使用
  6. Opencv 函数
  7. ReactiveCocoa v2.5 源码解析 之 架构总览
  8. C# 执行存储过程
  9. Memcahce(MC)系列(三)Memcached它PHP转让
  10. hbase thrift 访问队列
  11. 【转】javascript 浮点数运算问题
  12. 写入一个html文件时的编码要求
  13. tomcat 常用命令 网上找的资料
  14. 关于.NET字符串驻留的问题
  15. NoSuchMethodError: The getter 'inputs' was called on null.
  16. Jmeter 通过json Extracted 来获取 指定的值的id
  17. jquery 选择对象随心所欲,遍历数组更是易如反掌
  18. (转)C#读取MAC的几种方法
  19. 【Algorithm】冒泡排序
  20. php分享二十六:读写日志

热门文章

  1. JavaScript命名空间的理解与实现
  2. os.clock()导致的bug
  3. 第4章 部署模式 Deployment Plan(部署规划)
  4. js中获取浏览器和屏幕高度
  5. VTK+MFC 系列教程 非常强大
  6. 关于pc端 app端pdf,word xls等文件预览的功能
  7. MySQL_基本操作
  8. PuTTY 命令行改进 有效解决 中文乱码
  9. linux下查看mysql版本的四种方法
  10. DedeCMS用channelartlist调用顶级栏目及列表