js变量:全局、局部
局部变量:方法里定义的,如果用var,代表局部,如果没有var,代表全局
function a(){
var m = 'abc';
function b(){
console.log(m);
}
return b;
}
a()();
console.log(m);
闭包:方法内的方法,里面的方法可以访问外面方法的变量,里面方法和外面的变量为闭包
调用a(),返回的是b方法的定义
调用a()(),返回的是执行b方法
tips:方法中m用var代表局部变量,里面方法执行完毕,m值回收
方法中m不用var代表全局变量,里面方法执行完毕,m一直存在,但是如果在调用a()之前,m还未申请空间