现在的位置: 首页 > 综合 > 正文

关于 setTimeout 、 setInterval 中的函数调用

2013年09月16日 ⁄ 综合 ⁄ 共 439字 ⁄ 字号 评论关闭

有如下代码:

var num = 2;
function auto(){
	alert(num);
}
setTimeout(auto(),4000);

在这段程序里,测试的时候立刻就可以看到弹出的警告框。也就是说按照以上方法引用函数,定时器是不起作用的。

同样,对于setInterval上面的写法也不能正常工作,程序只能弹出一次警告框,然后报错。

把定时器改为

setInterval('auto()',4000);
setTimeout('auto()',4000);

程序可以正常工作。

当不使用auto()调用函数,只使用 auto会是什么样呢?

var str = 'aaa';
var num = 2;
function auto(){
	alert(num);
}
//setInterval(auto,4000);
setTimeout(auto,4000);

这样写程序都可以正常工作;

如果给auto加上引号

//setInterval('auto',4000);
setTimeout('auto',4000);

都不能正常工作。

抱歉!评论已关闭.