我試圖在無限循環的情況下超時一個函數。但下面的行不通。任何想法爲什麼以及如何解決它?在JavaScript中取消無限循環
setTimeout(clearValues,1000);
function clearValues(){
i=0;
alert("hi "+i);
}
i=19
function infin(){
while(i>0){
console.log(i);
i++;
}
alert("Done");
}
infin();
在下面的情況下,我得到的警告顯示(有點晚於預期),在控制檯聲明甚至警告後繼續打印。這意味着setTimeout不會在這種情況下等待循環結束。對此有何解釋?
setTimeout(clearValues,500);
function clearValues(){
alert("clear");
}
function infin(){
for(i=0;i<10000;){
i=i+0.3;
console.log(i);
}
}
infin();
在哪個動作是U調用這些函數? – AkshayJ
沒有具體操作。這只是作爲腳本運行。 – codingsplash
第二個示例只有在循環結束後才起作用。 –