## JavaScript 計時事件
通過使用 JavaScript,我們有能力作到在一個設定的時間間隔之后來執行代碼,而不是在函數被調用后立即執行。我們稱之為計時事件。
在 JavaScritp 中使用計時事件是很容易的,兩個關鍵方法是:
* setInterval() - 間隔指定的毫秒數不停地執行指定的代碼。
* setTimeout() - 暫停指定的毫秒數后執行指定的代碼
> Note: setInterval() 和 setTimeout() 是 HTML DOM Window對象的兩個方法。
### 1.setInterval() 方法
setInterval() 間隔指定的毫秒數不停地執行指定的代碼。
`window.setInterval("javascript function",milliseconds);`
* window.setInterval() 方法可以不使用window前綴,直接使用函數setInterval()。
* setInterval() 第一個參數是函數(function)。
* 第二個參數間隔的毫秒數
> 注意: 1000 毫秒是一秒。
~~~javascript
function myFunction(){
setInterval(function(){alert("Hello")},3000);
}
~~~
在頁面上顯示一個時鐘:
~~~javascript
var myVar=setInterval(function(){myTimer()},1000);
function myTimer(){
var d=new Date();
var t=d.toLocaleTimeString();
document.getElementById("demo").innerHTML=t;
}
~~~
### 2.如何停止執行?
`clearInterval()` 方法用于停止` setInterval() `方法執行的函數代碼。
語法
~~~
window.clearInterval(intervalVariable)
~~~
window.clearInterval() 方法可以不使用window前綴,直接使用函數clearInterval()。
要使用 clearInterval() 方法, 在創建計時方法時你必須使用全局變量:
~~~
myVar=setInterval("javascript function",milliseconds);
~~~
然后你可以使用`clearInterval() `方法來停止執行。
~~~javascript
var myVar=setInterval(function(){myTimer()},1000);
function myTimer(){
var d=new Date();
var t=d.toLocaleTimeString();
document.getElementById("demo").innerHTML=t;
}
function myStopFunction(){
clearInterval(myVar);
}
~~~
### 3.setTimeout() 方法
語法
~~~
window.setTimeout("javascript 函數",毫秒數);
~~~
* `setTimeout()` 方法會返回某個值。在上面的語句中,值被儲存在名為 t 的變量中。假如你希望取消這個 `setTimeout()`,你可以使用這個變量名來指定它。
* `setTimeout()` 的第一個參數是含有 JavaScript 語句的字符串。這個語句可能諸如 "`alert('5 seconds!')`",或者對函數的調用,諸如 `alertMsg()`"。
* 第二個參數指示從當前起多少毫秒后執行第一個參數。
提示:1000 毫秒等于一秒。
~~~javascript
function myFunction(){
setTimeout(function(){alert("Hello")},3000);
}
~~~
### 4.如何停止執行?
`clearTimeout()` 方法用于停止執行setTimeout()方法的函數代碼。
語法
~~~
window.clearTimeout(timeoutVariable)
~~~
`window.clearTimeout() `方法可以不使用 window 前綴。
要使用`clearTimeout()` 方法, 你必須在創建超時方法中(setTimeout)使用全局變量:
~~~
myVar=setTimeout("javascript function",milliseconds);
~~~
如果函數還未被執行,你可以使用 clearTimeout() 方法來停止執行函數代碼。
~~~javascript
var myVar;
function myFunction()
{
myVar=setTimeout(function(){alert("Hello")},3000);
}
function myStopFunction()
{
clearTimeout(myVar);
}
~~~
- Hello World!
- 介紹
- 語句和變量
- 標識符、注釋和區塊
- 基本數據類型和引用數據類型
- 數據類型
- typeof
- number
- 字符串
- 布爾類型
- 函數
- 數組
- 運算符
- 加法運算符
- 算術、賦值、比較運算符
- 布爾運算符
- 語句
- 條件語句
- 循環語句
- DOM模型
- DOM和DOM節點
- 特征相關屬性
- 節點對象的方法
- Element對象
- Attribute對象
- Text節點和CSS操作
- 事件模型
- 標準庫
- Number對象
- String對象
- Array對象
- Date、Boolean和Math對象
- JSON對象
- 面向對象編程中的 this
- 一切皆對象
- Web Storage
- 錯誤處理機制
- Error對象和try..catch語句
- javascript的原生錯誤類型
- BOM模型
- window對象
- 計時事件