在function前面加括号,以及在最后加双括号是为了能够立刻执行,而不必定义函数名称,再去调用
三次测试最终的成功原因,是需要将 clearInterval拆分一个独立的函数,定义ID调用
成功的代码在最下面~~需要看结果的可以直接到最后
// 第一次测试--失败:当时的心里想法 (额,可能是因为我没有写函数名...我再试一下)
(function () {
var i = 1
setInterval(() => {
i++;
console.log(i);
if (i >= 10) {
window.clearInterval();
// clearInterval()
// 后来测试发现加不加 window 都一样无法正常执行,不同大小写也考虑了,比如Window,都一样,根本停不下来...
console.log('到了');
}
}, 300);
})()
// 第二次测试--失败:当时的心里想法 (额,不应该啊,要把函数独立出去么?再试一下吧~)
(function interval() {
var i = 1
setInterval(() => {
i++;
console.log(i);
if (i >= 10) {
window.clearInterval(interval);
// clearInterval(interval)
// 后来测试发现加不加 window 都一样无法正常执行,不同大小写也考虑了,比如Window,都一样,根本停不下来...
console.log('到了');
}
}, 300);
})()
// 第三次测试--成功,原来需要将重复执行的程序独立的出来,使用单独的ID(Interval)来指定我们的循环语句 setInterval,就可以了
(function () {
var i = 1
function main() {
if (i >= 10) {
window.clearInterval(interval);
console.log('到了');
}
i++;
console.log(i);
}
Interval = setInterval(main, 300);
})()