我有這樣的例子,使用for循環和使用setInerval比較簡單的計數器環的表現,exeuction時間差巨大如下:Javascript setInterval執行時間少於1毫秒?
var i = 0;
var i2 = 0;
var int1 = null;
console.time("for loop");
do{
i++;
}while(i <= 1000);
console.timeEnd("for loop");
function fnc(){
if(i2++ == 1000){
clearInterval(int1);
console.timeEnd("interval loop");
}
}
console.time("interval loop");
int1 = setInterval(fnc , 1);
輸出
看演示在:http://jsbin.com/jusiqilayi/edit?js,output
我想知道是否有可能執行一個函數我們時間間隔小於1ms的setInterval?或者是否有一種方法可以使用setInterval爲給定示例實現更好的性能?
我一直在看你的問題現在超過5分鐘,我只是不明白爲什麼有人想在這個例子中使用'setInterval'方法?或者我只是不明白這個問題?! –
問題是關於setInerval性能的底線,是否可以像增加一個變量那樣簡單的1個指令代碼獲得更好的執行時間?希望現在更清楚。 –
由於@Ismail在最小延遲時間爲4ms以下回答(您可以嘗試加倍您的條件值以查看效果),使用間隔的整點也是在每次調用之前創建一個延遲,從邏輯上無延遲地使用它不會使感。 –