set Intervalによる性能問題
1828 ワード
今日はフォーラムでset Intervalについて見ました. セットTimeoutと同じ位置で不通な性能問題を示しています.
コードは以下の通りです
example.js
ネット上で2つの方法があります.
1:window.set Interval(「getthedate()」、1000);window.setTimeout(「getthedate()」、1000)に変えます.
2:getthedate方法の中のwindow.set Interval(「getthedate()」、1000)を取り除き、JSコードの中で最後のgetthedateをwindow.set Interval(「getthedate()」、1000)に変えます.
運転後のパフォーマンスは良好です.
分析:
set Timeout(式,遅延時間)set Interval(式,インタラクティブ時間)の遅延時間/インタラクティブ時間は豪秒単位(1000 ms=1 s)のsetTimeoutである. 実行時は、ロード後の指定時間が遅延した後に、一回だけの式を実行します.ロード後、指定された時間ごとに式を実行します.
コードは以下の通りです
example.js
var montharray = new Array("01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12")
document.write("");
function getthedate(){
var date = new Date();
var year = date.getYear()
if (year < 1000)
year += 1900
var month=date.getMonth();
var day=date.getDate();
var hours=date.getHours();
var minutes=date.getMinutes();
var second = date.getSeconds();
var timevalue=" "+year+" ";
timevalue+=montharray[month]+" ";
timevalue+=((day<10)?("0"+day):day)+" ";
timevalue+=(hours<13)?(" "+hours):(" "+(hours-12))+" ";
timevalue+=((minutes<10)?("0"+minutes):minutes)+" ";
timevalue+=((second<10)?("0"+second):second)+" ";
document.getElementById("clock").innerHTML = timevalue;
window.setInterval("getthedate()", 1000);
}
getthedate();
time.httm
Untitled Document
運転結果は、CPUの占有率が高いとIEが吊死します.ネット上で2つの方法があります.
1:window.set Interval(「getthedate()」、1000);window.setTimeout(「getthedate()」、1000)に変えます.
2:getthedate方法の中のwindow.set Interval(「getthedate()」、1000)を取り除き、JSコードの中で最後のgetthedateをwindow.set Interval(「getthedate()」、1000)に変えます.
運転後のパフォーマンスは良好です.
分析:
set Timeout(式,遅延時間)set Interval(式,インタラクティブ時間)の遅延時間/インタラクティブ時間は豪秒単位(1000 ms=1 s)のsetTimeoutである. 実行時は、ロード後の指定時間が遅延した後に、一回だけの式を実行します.ロード後、指定された時間ごとに式を実行します.