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