为了账号安全,请及时绑定邮箱和手机立即绑定

不知道是不是变量提升的问题

不知道是不是变量提升的问题

桃花长相依 2018-11-20 17:31:20
function Box(age) {    this.name = 'ss';    this.age = age;    this.flag = true;    return this;} //定义一个构造函数var box1 = new Box(10); // new出一个实例setTimeout(function () {    box1.flag = false;    console.log(box1.flag);}, 5000); //五秒钟之后把 实例box1里面的flag变为false.var inter = setInterval(function () {    if (box1) {        console.log(box1);        if (!box1.flag) {            box1 = null;            var box1 = new Box(20);        }    } else {        console.log('cleared Interval as box1 is null now');        clearInterval(inter);    }}, 1000); //每一秒种先控制台打印出box1, 如果flag为false, 那么就销毁box1,然后再new出一个box1. 结果是直接输出box1是null.cleared Interval as box1 is null nowfalse请问是不是由于var会优先声明局部变量. 导致声明后直接box = null. 然后就输出 else里面的内容?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 467 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信