个人理解闭包
闭包的实现和作用域是有关系的
先说作用域 变量可分为全局变量和局部变量
1.函数内部的变量如果没有被var定义就是全局变量
var n=1;
function a(){
alert(n)
}
a();//1
2.函数内部不能改变全部变量的值
function a(){
var n=1;
}
alert(n)//error
3.现在n表示的是全局变量
function a(){
n=1;
}
a();
alert(n);//显示n表示的是全局变量
闭包实际的理解就是子函数可以用到父函数中的变量
function f1(){
var n=999;
function f2(){
alert(n); // 999
}
}