for (var i = 1; i < 99999; i++) {
window.clearInterval(i);
console.log('interval cleared');
}
以上代码将记录99999次&#34;间隔清除&#34;。但是如何记录for循环是否已完成?
if(for loop is completed){
console.log('interval cleared');
}
答案 0 :(得分:3)
for循环是同步的,循环中的代码也是同步的。你的for循环将在执行后的任何代码之前完成。
for (var i = 1; i < 99999; i++) {
window.clearInterval(i);
console.log('interval cleared');
}
console.log("all intervals cleared");
答案 1 :(得分:0)
只有当i
的值大于或等于99999时,你的循环才会停止,所以这意味着在循环结束i
之后,这里实际上有一个99999的值,因为你在每次迭代结束。现在,这意味着如果i
完全等于您的上边界减去一(99998),您可以告诉您不会再次循环(除非您在循环内修改i
较低的值)
这意味着你可以这样做
var upperBoundary = 99999;
for (var i = 1; i < upperBoundary; i++) {
window.clearInterval(i);
if (i === upperBoundary - 1) {
// last iteration code
console.log('All intervals cleared');
}
}
但这可以替代更简单的代码:
var upperBoundary = 99999;
for (var i = 1; i < upperBoundary; i++) {
window.clearInterval(i);
}
// note that i has the same value as upperBoundary
console.log('All intervals cleared');
在js和许多其他编程语言中,for循环由3个部分组成(每个部分用分号分隔):
var i = 0
)i < 99999
)您可以将其转换为带有while循环的代码,例如:
// initialization
var i = 0;
// condition
while(i < 99999) {
// loop body
// incrementing
i++;
}
答案 2 :(得分:0)
我认为尼克想象一下:
for (var i = 1; i < 99999; i++) {
window.clearInterval(i);
if(i==99998) console.log('all intervals cleared');
}
实际上,99999间隔不会被清除。
答案 3 :(得分:0)
循环开始
int count = 0;
for (var i = 1; i < 99999; i++) {
window.clearInterval(i);
count++;
console.log('interval cleared');
}
console.log('Loop ended:' + count);