javascript---闭包

来源:互联网 发布:手机雨滴软件苹果 编辑:程序博客网 时间:2024/05/11 04:52

正在学习之中,若有错误欢迎指出---内容来源于网上各资源的总结


1.含义:大致理解就是通过在一个函数中定义另一个函数,内部的函数可以访问外部函数的参数和局部变量以及全局变量

闭包在js高级程序中的解释为有权访问另一个函数作用域中的变量的函数,例如若函数a为定义在函数b中的函数,函数a就是一个闭包;


2.注意点:返回的内部函数并不会立刻执行,直到使用变量调用执行;

例如: function  a(){

var i = 1;

return function(){

console.log(i);

}

}

var c = a();

c();


3.闭包的两个作用:①访问函数内部的变量,类似java类的中的公用方法访问类中的私有变量;②让被引用的变量始终保持在内存中;


4.闭包的作用域链包含它的作用域,以及包含它的函数的作用域和全局作用域;


5.使用闭包可能占用很多内存,可以释放对闭包的引用;

例如:a  为一个对闭包的引用,释放方法:a = null;

0 0
原创粉丝点击