function a() {
var aa = 1;
function b() {
aa = 2;
var aa = 3;
alert("b:" + aa);
}
b();
alert("a:" + aa);
}
a();
只要变量aa有一个用var声明,aa就是b的本地变量。
function a() {
var aa = 1;
function b() {
aa = 2;
//var aa = 3;
alert("b:" + aa);
}
b();
alert("a:" + aa);
}
a();
如果aa没有用var声明,那么aa就是外层函数a的本地变量,在b函数中aa就属于闭包变量。