闭包是涉及独立变量的函数,换句话说,在闭包中定义的函数会记住它创建的环境。当一个函数在它所创建的环境之外执行时它就是闭包.
闭包概念就是为了避免内存泄露而存在的,保护数据。函数嵌套函数。
闭包就是内部函数通过某种方式使其可见范围超出了其定义的范围
闭包的定义:
function makeFunc(){
var name = "Mozilla";
function displayName(){
alert(name);
}
return displayName;
}
var myFunc = makeFunc();
myFunc(); //myFunc()就是一个闭包
当希望某些对象只能被一个方法使用时,就可以使用闭包。
1:在函数外部无法读取另一个函数里面的局部变量,用闭包就可以在外面访问到函数里面的局部变量
2:就是让这些变量的值始终保持在内存中
test:function(){
var mm = 1
function tt(){
//return mm
cc.log(mm)
}
this.add = function (){
mm++
}
return tt
},
init:function()
{
var ww = this.test()
ww()
this.add()
this.add()
this.add()
ww()
var mm = 1
function tt(){
//return mm
cc.log(mm)
}
this.add = function (){
mm++
}
return tt
},
init:function()
{
var ww = this.test()
ww()
this.add()
this.add()
this.add()
ww()