關(guān)于頁面每秒刷新時間的問題,兩種代碼有什么區(qū)別?
我嘗試每隔1秒顯示一次時間,這樣就可以:
window.onload=function(){
//定時器每秒調(diào)用一次fnDate()
? ?setInterval(function(){fnDate();},1000);
};
function fnDate(){
? ?var D=new Date();
? ?alert(D);
}
這樣就不行:
window.onload=function(){
//定時器每秒調(diào)用一次fnDate()
? ?setInterval(fnDate(),1000);
};
function fnDate(){
? ?var D=new Date();
? ?alert(D);
}
2016-04-26
兩種寫法別分是:
A: setInterval("fnDate()",1000);
B: setInterval(fnDate,1000);
注意 "" 與 () 在什么時候使用,什么時候不使用。
2016-04-26
setInterval(fnDate(),1000);改為setInterval(fnDate,1000);setInterval("fnDate()",1000);或者就達(dá)到你要的效果了
下面說說原因
setInterval(要調(diào)用的函數(shù)或要執(zhí)行的代碼串,1000);
fnDate()是直接執(zhí)行,如果有返回值,相當(dāng)于返回值放到setInterval的第一個參數(shù)位置,所以人家執(zhí)行一次就不動了。
fnDate是要調(diào)用的函數(shù),放到第一個參數(shù)位置到時間了再執(zhí)行,所以一直執(zhí)行。
"fnDate()"是代碼串,每到時間解析一次,解析成fnDate(),然后達(dá)到一直執(zhí)行
如有錯誤,望指正