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

setTimeout() 中加不加''的问题

setTimeout() 中加不加''的问题

留白未来 2016-08-16 15:57:00
因为是初学者,问题比较多.首先感谢热心的朋友们给予我指点,十分的感激你们.这次遇到的疑惑是:setTimeout() 中加不加''的问题.我在setTimeout() 中调用函数名为fun1的函数,两种方法,1,不带引号写函数名fun1,2,带引号时需要写fun1();这里面的原理是什么呢?或者指点我一下,去看哪本书的哪个副本能把这个问题理解清楚.再次感谢!补充:我之前做了一个实验,当时的理解是,不带()是返回了一个函数指针,带()是返回函数计算后的返回值.所以=fun()会使fun函数自动执行一次,而=fun并不会使fun函数执行.所以在setTimeout中始终会写"fun()"而不是"fun",因为我觉得写成"fun"的时候,给setTimeout的是一个指针而不是函数计算后的返回值.但是在后来的试验中,发现直接写成setTimeout(fun,1000)不带引号和括号也是可以调用函数的,所以有点蒙了,不明白这里是什么原理.
查看完整描述

1 回答

?
木子七

TA贡献3条经验 获得超3个赞

直接调用该方法:setTimeout(fun1,1000);

要带参数:setTimeout("fun1('obj')",1000)

查看完整回答
反对 回复 2016-08-16
  • 留白未来
    留白未来
    我之前做了一个实验,当时的理解是,不带()是返回了一个函数指针,带()是返回函数计算后的返回值.所以=fun()会使fun函数自动执行一次,而=fun并不会使fun函数执行.所以在setTimeout中始终会写"fun()"而不是"fun",因为我觉得写成"fun"的时候,给setTimeout的是一个指针而不是函数计算后的返回值.但是在后来的试验中,发现直接写成setTimeout(fun,1000)不带引号和括号也是可以调用函数的,所以有点蒙了,不明白这里是什么原理.
  • 1 回答
  • 0 关注
  • 1370 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信