(function(){
alert('lili');
})(); //闭包两个小括号执行()()
如果
function(){
alert('lili');
}() //不执行 报错,因为()前面是表达式,不是函数,要用圆括号转换一下
var box =(function(){
return alert('lili');
})(); //把闭包自我执行的返回值赋给变量
闭包是指一个函数可以范围另一个函数中的局部变量,创建闭包的常见方法就是再函数里面再创建另一个函数,通过另一个函数访问函数的局部变量,利用闭包还可以使变量常驻内存
如下面的i
function test() {
var i=0;
function() {
i++;
alert(i);
}
}
var b = test();
b();
b() //i会递增
利用全局变量 累加
var age=0;
function test() {
age++ //可以访问到全局变量 但是容易造成全局变量污染,
}