javascript闭包注意点

function a() {

var aa = 1;

function b() {

aa = 2;

var aa = 3;

alert("b:" + aa);

}

b();

alert("a:" + aa);

}

a();

javascript闭包注意点

只要变量aa有一个用var声明,aa就是b的本地变量。

 

function a() {

var aa = 1;

function b() {

aa = 2;

//var aa = 3;

alert("b:" + aa);

}

b();

alert("a:" + aa);

}

a();


javascript闭包注意点

如果aa没有用var声明,那么aa就是外层函数a的本地变量,在b函数中aa就属于闭包变量。
 

你可能感兴趣的:(javascript闭包注意点)