利用setTimeout()函式實現函式程式碼的延遲執行
阿新 • • 發佈:2019-02-17
在有些情況下,我們可能希望程式中的一部分程式碼先執行,然後停留n秒後再執行其他程式程式碼,但js對順序寫入的內容會一次執行完畢,即使使用一個大迴圈(如while(i<100000))也會很快執行完,而且也無法精確控制時間,因為迴圈的執行速度是依賴於使用者的cpu的,因此我們必須利用時鐘來設定,再js裡有一個函式setTimeout函式,用於設定超時多長時間執行指定的程式碼。如setTimeout("a()",1000),指1秒鐘後執行函式a(),
利用setTimeout函式我們可以很輕鬆的完成上面的問題,我們可以把a()鍾要延遲執行的程式碼寫入一個函式如b1()鍾,然後原函式末尾寫上setTimeout("b1()",3000),則b1()函式中的程式灰再3秒鐘後執行。這樣就實現了延遲執行制定程式碼的功能。
測試程式碼:
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > < html xmlns ="http://www.w3.org/1999/xhtml" xml:lang ="en" lang ="en" > < head > < title ></ title > </ head > < body > < div id ="a" ></
document.getElementById( " a " ).innerHTML = " aaa " ;
document.getElementById( " a " ).innerHTML += " wait 6 seconds later " ;
setTimeout( " b() " , 6000 );
}
function b(){
document.getElementById( " a " ).innerHTML += " ccccc " ;
}
a();
</