一道关于js闭包的面试题
2016-12-02 本文已影响321人
DengXG
var a= 4;
function b() {
a =3;
console.log(a);
function a(){}
}
b() // 3
相当于
var a= 4;
function b() {
function a(){} //声明局部变量a ,var只是声明提前,赋值没有提前,function是声明 + 赋值 都提前
a =3; //更改局部变量a的值
console.log(a);
}
b() // 3