您好,登錄后才能下訂單哦!
JS中setTimeout()方法的用法
settimeout(表達式,延遲時間); 單位:ms(毫秒);1s=1000ms;
setinterval(表達式,交互時間); 單位:ms(毫秒);1s=1000ms;
window.settimeout()
在執行時,它從載入后延遲指定的時間去執行一個表達式或者是函數;僅執行一次;和window.cleartimeout一起使用.
window.setinterval()
在執行時,它從載入頁面后每隔指定的時間執行一個表達式或者是函數;(功能類似于遞歸函數);和window.clearinterval一起使用.
1,基本用法:
執行一段代碼: var i=0;
settimeout("i+=1;alert(i)",1000);
執行一個函數:
var i=0;
settimeout(function(){i+=1;alert(i);},1000);
//比較上面的兩種方法的不同。
下面再來一個執行函數的:
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是一個函數.
注重"函數"的意義,是一個表達式,而不是一個語句.
比如你想周期性執行一個函數
function a(){
//...
}
可寫為
setinterval("a()",1000)
或
setinterval(a,1000)
這里注重第二種形式中,是a,不要寫成a(),切記!!!
展開來說,不管你這里寫的是什么,假如是一個變量,一定是一個指向某函數的變量;假如是個函數,那它的返回值就 要是個函數
2,用settimeout實現setinterval的功能
思路很簡單,就是在一個函數中調用不停執行自己,有點像遞歸
var i=0;
function xilou(){
i+=1;
if(i>10){alert(i);return;}
settimeout("xilou()",1000);
//用這個也可以
//settimeout(xilou,1000);
}
window.setTimeout(func,delay);
func,代表所要執行的函數或代碼字符串。
delay,延時參數,單位為毫秒,一秒=1000毫秒。
func中傳遞的函數或語句有變量輸入時,變量的取值以延時后的執行時段時的取值為準,不以代碼執行時段的值為準。例如:
代碼:
for(var i=1;i<=50;i++)
{
window.setTimeout("document.write(i)",1000);
}
這樣寫的意義是在程序執行完1秒后打印50個i,此時程序已執行完,i的取值為"51";
如果要是程序每隔1秒打印一個數,則程序要改寫為
代碼:
for(var i=1;i<=50;i++)
{
window.setTimeout("document.write("+i+")",i*1000);
}
#Javascr
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。