setInterval
setInterval() 方法調(diào)用函數(shù)或以指定的間隔(以毫秒為單位)來(lái)計(jì)算表達(dá)式。
它將持續(xù)調(diào)用該函數(shù),直到調(diào)用 clearInterval() 或窗口關(guān)閉。
function myAlert() { alert("你好 世界"); } setInterval(myAlert, 3000); // 每個(gè) 3 秒執(zhí)行一次 myAlert
提示: 將函數(shù)的名稱傳遞給 setInterval 方法時(shí),不帶圓括號(hào)。
setInterval( ,);
Date 對(duì)象
日期對(duì)象用于處理日期和時(shí)間。
日期由 年,月,日,時(shí),分,秒和毫秒組成。
使用 new Date() , 將創(chuàng)建一個(gè)存儲(chǔ)當(dāng)前日期和時(shí)間的日期對(duì)象。
var d = new Date(); //d 存儲(chǔ)了當(dāng)前的日期和時(shí)間
初始化日期的其他方法允許從指定的日期和時(shí)間創(chuàng)建新的日期對(duì)象。
new Date(milliseconds) // 毫秒 new Date(dateString) // 日期字符串 new Date(year, month, day, hours, minutes, seconds, milliseconds) //年,月,日,時(shí),分,秒和毫秒
提示: JavaScript日期以1970年01月01日00:00:00世界時(shí)(UTC)計(jì)算。一天包含 86400000 毫秒。
//Fri Jan 02 1970 08:00:00 GMT+0800 (中國(guó)標(biāo)準(zhǔn)時(shí)間) var d1 = new Date(86400000); //Thu Oct 19 2017 15:56:00 GMT+0800 (中國(guó)標(biāo)準(zhǔn)時(shí)間) var d2 = new Date("October 19, 2017 15:56:00"); //Sat Jun 11 1988 11:42:00 GMT+0800 (中國(guó)標(biāo)準(zhǔn)時(shí)間) var d3 = new Date(88,5,11,11,42,0,0);
提示: JavaScript計(jì)數(shù)從0到11的月份。1月是0,12月是11。
日期對(duì)象是靜態(tài)的,而不是動(dòng)態(tài)的。計(jì)算機(jī)時(shí)間正在往前走,但是日期對(duì)象一旦創(chuàng)建,日期就不會(huì)改變。
Date 方法
當(dāng)創(chuàng)建一個(gè)Date 對(duì)象時(shí),有很多方法可以對(duì)它進(jìn)行操作。
例如:
var d = new Date(); var hours = d.getHours(); //hours 等于當(dāng)前的小時(shí)數(shù)值
讓我們來(lái)寫一個(gè)程序,每秒打印一次當(dāng)前瀏覽器的時(shí)間:
<html> <head> </head> <body> <script> function printTime() { var d = new Date(); var hours = d.getHours(); var mins = d.getMinutes(); var secs = d.getSeconds(); document.body.innerHTML = hours+":"+mins+":"+secs; } setInterval(printTime, 1000); // setInterval 第二個(gè)參數(shù)單位是 毫秒 </script> </body> </html>
我們定義了一個(gè) printTime 函數(shù),通過(guò) new Date() 生成當(dāng)前時(shí)間的對(duì)象,然后通過(guò) getHours(),getMinutes(),getSeconds() 獲取到當(dāng)前的時(shí),分,秒,并打印出來(lái).
通過(guò) setInterval 每隔 1秒執(zhí)行一次 printTime 函數(shù)
提示: innerHTML 屬性設(shè)置或返回元素的HTML內(nèi)容。在我們的例子中,我們正在改變我們文檔體的HTML內(nèi)容。這將每秒覆蓋內(nèi)容,而不是重復(fù)打印到屏幕。
date = Date();