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里面的内容?
添加回答
举报
0/150
提交
取消