为了账号安全,请及时绑定邮箱和手机立即绑定

t=setTimeout('showTime()',1000) 为什么要加单引号?

setTimeout('showTime()',1000)  //这个也是可以的 为什么这样?
这个也可以  setTimeout(showTime,1000)

但是这样的不可以  setTimeout(showTime(),1000) 

发现如果调用 时加了() 就必须要有 ‘’引起来 为什么呢?

正在回答

1 回答

setTimeout('showTime()',1000) 这种是字符串写法,这么写有点像eval(),必须要引号的;不加引号意思就不同了,就是直接调用showTime函数,setTimeout就没意义了

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

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

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


4 回复 有任何疑惑可以回复我~
#1

加百列 提问者

非常感谢!
2016-10-19 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
倒计时效果
  • 参与学习       55625    人
  • 解答问题       242    个

电商网站限时抢购倒计时效果计算思路和方法,前端开发必备技术

进入课程

t=setTimeout('showTime()',1000) 为什么要加单引号?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信