关于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 星
HTML5与CSS3实现动态网页 2018
  • 参与学习       1887    人
  • 提交作业       4643    份
  • 解答问题       5760    个

有HTML和CSS基础,却不知道如何进阶?本路径带你通过系统学习,完成从“会做网页”到“做出好的动态网页”的蜕变,迈出成为前端工程师的第一步。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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