关于setTimeout问题

关于setTimeout问题

setTimeout("showTime()",1000);//setTimeout(showTime,1000);

这两种写法有什么具体的区别啊

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
小于飞飞 2017-12-24 14:17:07

showTime() 函数调用。setTimeout()定时器,间隔多长后执行函数。如 setTimeout(showTime,1000),一秒后执行showTime函数,如果写成setTimeout(showTime(),1000) 就会立即执行函数,setTimeout就没意义了,所以要加引号setTimeout('showTime()',1000) 这种字符串写法。

一般来说都是用setTimeout(showTime,1000)这种写法的,不推荐字符串写法,原因如下:

1、setTimeout(showTime,1000),执行的时候是可以查找到局部变量的,也就是说showTime这个函数不必放在全局,在window.onload下也可以正常运作,当然全局下也可以运行

2、setTimeout('showTime()',1000)这种字符串写法,只能捕捉到全局的函数,如果showTime函数放在局部作用域中,就会报错,说未定义showTime


问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师
插入代码