一道关于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
上一篇下一篇

猜你喜欢

热点阅读