JS中setTimeout()和interval()方法的用法

JS中setTimeout()方法的用法

創(chuàng)新互聯(lián)于2013年成立,是專業(yè)互聯(lián)網技術服務公司,擁有項目網站建設、做網站網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元溆浦做網站,已為上家服務,為溆浦各地企業(yè)和個人服務,聯(lián)系電話:028-86922220

            settimeout(表達式,延遲時間); 單位:ms(毫秒);1s=1000ms; 

setinterval(表達式,交互時間);  單位:ms(毫秒);1s=1000ms; 

window.settimeout()

在執(zhí)行時,它從載入后延遲指定的時間去執(zhí)行一個表達式或者是函數(shù);僅執(zhí)行一次;和window.cleartimeout一起使用.

window.setinterval()

在執(zhí)行時,它從載入頁面后每隔指定的時間執(zhí)行一個表達式或者是函數(shù);(功能類似于遞歸函數(shù));和window.clearinterval一起使用.

1,基本用法:

執(zhí)行一段代碼:  var i=0;

settimeout("i+=1;alert(i)",1000);

執(zhí)行一個函數(shù):

var i=0;

settimeout(function(){i+=1;alert(i);},1000);

//比較上面的兩種方法的不同。

下面再來一個執(zhí)行函數(shù)的:

var i=0;

function test(){

i+=1;

alert(i);

}

settimeout("test()",1000);

也可以這樣:

settimeout(test,1000);

總結:

settimeout的原型是這樣的:

itimerid = window.settimeout(vcode, imilliseconds [, slanguage])

settimeout有兩種形式

settimeout(code,interval)

settimeout(func,interval,args)

其中code是一個字符串

func是一個函數(shù).

注重"函數(shù)"的意義,是一個表達式,而不是一個語句.

比如你想周期性執(zhí)行一個函數(shù)

function a(){

//...

}

可寫為

setinterval("a()",1000)

setinterval(a,1000)

這里注重第二種形式中,是a,不要寫成a(),切記!!!

展開來說,不管你這里寫的是什么,假如是一個變量,一定是一個指向某函數(shù)的變量;假如是個函數(shù),那它的返回值就 要是個函數(shù)

2,用settimeout實現(xiàn)setinterval的功能

思路很簡單,就是在一個函數(shù)中調用不停執(zhí)行自己,有點像遞歸

var i=0;

function xilou(){

i+=1;

if(i>10){alert(i);return;}

settimeout("xilou()",1000);

//用這個也可以

//settimeout(xilou,1000);

}

window.setTimeout(func,delay);

func,代表所要執(zhí)行的函數(shù)或代碼字符串。

delay,延時參數(shù),單位為毫秒,一秒=1000毫秒。

func中傳遞的函數(shù)或語句有變量輸入時,變量的取值以延時后的執(zhí)行時段時的取值為準,不以代碼執(zhí)行時段的值為準。例如:

代碼:

for(var i=1;i<=50;i++)

{

       window.setTimeout("document.write(i)",1000);

}

這樣寫的意義是在程序執(zhí)行完1秒后打印50個i,此時程序已執(zhí)行完,i的取值為"51";

如果要是程序每隔1秒打印一個數(shù),則程序要改寫為

代碼:

for(var i=1;i<=50;i++)

{

       window.setTimeout("document.write("+i+")",i*1000);

}

#Javascr

當前名稱:JS中setTimeout()和interval()方法的用法
網站地址:http://bm7419.com/article4/jddcie.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站營銷、App設計品牌網站設計、標簽優(yōu)化、電子商務、商城網站

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都網頁設計公司