我有一個長的循環,可能需要10分鐘或更長時間,並且我想始終設置一個新的時間以避免它繼續。但它不起作用。JS - 防止從「崩潰」瀏覽器執行長循環javascript
function problem3(){
var img = document.getElementById('p_3');
img.style.display = img.style.display === 'block' ? 'none' : 'block';
var number=600851475143;
var t = new Date();
for(var i=3;i*i<=number;i+=2){
if(isPrime(i) && number%i==0){
var maxPrime = i;
}
setInterval(function(){time(t)},5000);
}
document.getElementById("p3").innerHTML = 'Il più grande divisiore primo di <span>'+number+"</span> è <span>" + maxPrime+"</span>";
}
function time(t){
return console.log(Date() - t);
}
如果我把console.log(Date() - t);
在它的工作原理problem3()函數,但我不能做的日期() - T的每5秒,像setInterval(Date()-t,5000)
您是否想要獲得最大素數?然後,當你找到一個主要因素時,除以數字。 – Oriol
是的,我做了:'if(isPrime(i)&& number%i == 0)',但是這個代碼是在JS中的,因爲chrome瀏覽器總是字符串,所以我想給它更多的時間..UPDATE:好吧,我想你想說什麼我 – Teshtek
我的意思是'數字/ =我',直到'數字%我!= 0'。如果'number'具有各種主要因素,它將使循環更短。 – Oriol