搜索

首页  >  问答  >  正文

javascript - 定时器中变量赋值的问题

var a=0;
var timer=setTimeout(function(){
    a++;
},1000);
if(a>0){
    alert("1");
}

这段代码中a的值我明明在定时器里改变了,为啥输出的还是0?
应该怎么写才能让这个弹窗弹出来呢?(在让判断生效的基础上.)

过去多啦不再A梦过去多啦不再A梦2753 天前531

全部回复(1)我来回复

  • 伊谢尔伦

    伊谢尔伦2017-05-19 10:36:41

    你想象中的执行顺序

    var a = 0;
    a++;
    console.log(a);

    实际的执行顺序

    var a = 0;
    console.log(a);
    delay 1 second ……
    a++;
    

    拿到这个a=1的方法有很多,但是你这里意义未明,到底是为了什么。

    还有问题的补充要放在问题里,不要放在问题的评论里。

    回复
    0
  • 取消回复