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

JS中setTimeout函数中的时间失效,什么原因?

JS中setTimeout函数中的时间失效,什么原因?

九州编程 2019-02-16 19:12:25
代码如下:这段代码执行,达不到预期的效果。func不会等待1秒执行,而是立即执行。把标注部分由:func(node)改为function() {func(node)}则会按照预期等待1秒执行。为什么呢,比较迷惑。
查看完整描述

1 回答

?
喵喔喔

TA贡献1735条经验 获得超5个赞

没有为啥,因为你func(node)直接调用了func。

头一个参数让传的也是个函数,而不是函数的调用。

什么是回调函数,就是不是你调用的却执行了的函数,就是不需要你主动调用。


function fun () {

  console.log(1)

  return function () {

    console.log(2)

  }

}

setTimeout(fun(), 1000)

自己看下结果


查看完整回答
反对 回复 2019-02-21
  • 1 回答
  • 0 关注
  • 789 浏览
慕课专栏
更多

添加回答

举报

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