1. 程式人生 > >利用setTimeout()函式實現函式程式碼的延遲執行

利用setTimeout()函式實現函式程式碼的延遲執行

在有些情況下,我們可能希望程式中的一部分程式碼先執行,然後停留n秒後再執行其他程式程式碼,但js對順序寫入的內容會一次執行完畢,即使使用一個大迴圈(如while(i<100000))也會很快執行完,而且也無法精確控制時間,因為迴圈的執行速度是依賴於使用者的cpu的,因此我們必須利用時鐘來設定,再js裡有一個函式setTimeout函式,用於設定超時多長時間執行指定的程式碼。如setTimeout("a()",1000),指1秒鐘後執行函式a(),

利用setTimeout函式我們可以很輕鬆的完成上面的問題,我們可以把a()鍾要延遲執行的程式碼寫入一個函式如b1()鍾,然後原函式末尾寫上setTimeout("b1()",3000),則b1()函式中的程式灰再3秒鐘後執行。這樣就實現了延遲執行制定程式碼的功能。

測試程式碼:

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "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" ></
div > < script  type ="text/javascript" > function  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();
</
script > </ body > </ html >