js闭包的一个小问题如下 两段代码function a(){var b 1window.setTimeout(function(){//用定时器来触发
js闭包的一个小问题
如下 两段代码
function a(){var b = 1;window.setTimeout(function(){//用定时器来触发就不搞按钮啦alert(b);var b = 2;},3000);}a();只差了一句,执行结果是什么样呢? 第一种,顺利弹出1
第二种确是 undefined
如何理解?
js会初始化用var 定义的变量导致第二个里边的b变量呗初始化局部变量,意思是b已经被释放了
