JavaScript中的setInterval用法

洪小燈發表於2015-11-24
JavaScript中的setInterval用法


setInterval動作的作用是在播放動畫的時,每隔一定時間就呼叫函式,方法或物件。可以使用本動作更新來自資料庫的變數或更新時間顯示。setInterval動作的語法格式如下:
setInterval(function,interval[,arg1,arg2,......argn])
setInterval(object,methodName,interval[,arg1,arg2,.....argn])
第一種格式是標準動作皮膚中setInterval函式的預設語法,第二種格式是在專家模式動作中使用的方法。
其中的引數function是一個函式名或者一個對匿名函式的引用。object引數指定從Object物件派生的物件。methodName制定 object引數中要呼叫的方法。
interval制定對function或methodName呼叫兩次之間的時間,單位是毫秒。後面的arg1等是可選的引數,用於制定傳遞給function或是methodName的引數。
setInterval它設定的時間間隔小於動畫幀速(如每秒10幀,相當於100毫秒),則按照儘可能接近interval的時間間隔呼叫函式。
而且必須使用updateAfterEvent動作來確保以足夠的頻率重新整理螢幕。如果interval大於動畫幀速,則只用在每次播放頭進入某一幀是才呼叫,以減小每次重新整理螢幕的影響。
下面的例子每隔1秒呼叫一次匿名函式。
setInterval(function(){trace("每隔1秒鐘我就會顯示一次")},1000);//這裡的function(){}是沒有函式名的函式。成為匿名函式,後面的1000是時間間隔,單位是毫秒。
下面的例子為我們展示如何帶引數執行。
function show1(){
    trace("每隔1秒顯示一次");
}
function show2(str){
    trace(str);
}
setInterval(show1,1000);
setInterval(show2,2000,"每隔2秒我就會顯示一次");上面已經將函式的setInterval方法介紹了。
下面我們將介紹物件的setInterval方法。
首先,寫一個setInterval在動作中呼叫物件的方法的例子,該例子不需要傳遞引數。
myobj=new Object();//建立一個新的物件
myobj.interval=function){
    trace("每隔1秒顯示一次");
}//建立物件的方法。
setInterval(myobj,"interval",1000);//設定時間間隔呼叫物件的方法。
接下來介紹如何傳遞引數。其實道理和函式的傳遞引數是一樣的。
myobj=new Object();
myobj.interval-function(str){
    trace(str);
}
setInterval(myobj,"interval",2000," 每隔2秒我就會顯示一次");
注意。要呼叫為物件定義的方法時,必須在專家模式中使用第二種語法格式。
這樣子的話呢,我們來作一個動態顯示時間的畫面。可以用下面的程式碼實現。
setInterval(show,1000);
function show(){
    time=new Date();
    hour=time.getHours();
       minu=time.getMinutes();
       sec=time.get.Seconds();
    datetime=hour+":"+minu+":"+sec;
}//這裡的datetime是一個動態文字框的變數名字。
這樣子呢,setInterval這個方法大家應該學的很好了。現在呢,我們學習clearInterval.
clearInterval動作的作用是清楚對setInterval函式的呼叫,它的語法格式如下clearInterval(intervalid);intervalid是呼叫setInterval函式後返回的物件。
下面舉一個簡單的例子。
function show(){
    trace("每隔一秒顯示一次");
}
var sh;
sh=setInterval(show,1000);
clearInterval(sh);

相關文章