tanglj22
2016-04-26 15:33
我尝试每隔1秒显示一次时间,这样就可以:
window.onload=function(){
//定时器每秒调用一次fnDate()
setInterval(function(){fnDate();},1000);
};
function fnDate(){
var D=new Date();
alert(D);
}
这样就不行:
window.onload=function(){
//定时器每秒调用一次fnDate()
setInterval(fnDate(),1000);
};
function fnDate(){
var D=new Date();
alert(D);
}
两种写法别分是:
A: setInterval("fnDate()",1000);
B: setInterval(fnDate,1000);
注意 "" 与 () 在什么时候使用,什么时候不使用。
setInterval(fnDate(),1000);改为setInterval(fnDate,1000);setInterval("fnDate()",1000);或者就达到你要的效果了
下面说说原因
setInterval(要调用的函数或要执行的代码串,1000);
fnDate()是直接执行,如果有返回值,相当于返回值放到setInterval的第一个参数位置,所以人家执行一次就不动了。
fnDate是要调用的函数,放到第一个参数位置到时间了再执行,所以一直执行。
"fnDate()"是代码串,每到时间解析一次,解析成fnDate(),然后达到一直执行
如有错误,望指正
JavaScript进阶篇
468060 学习 · 21891 问题
相似问题