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

代码如下:

https://img2.mukewang.com/5c6e54590001b63b04460234.jpg

这段代码执行,达不到预期的效果。func不会等待1秒执行,而是立即执行。

把标注部分由:func(node)改为function() {func(node)}

则会按照预期等待1秒执行。

为什么呢,比较迷惑。


九州编程
浏览 790回答 1
1回答

喵喔喔

没有为啥,因为你func(node)直接调用了func。头一个参数让传的也是个函数,而不是函数的调用。什么是回调函数,就是不是你调用的却执行了的函数,就是不需要你主动调用。function fun () {  console.log(1)  return function () {    console.log(2)  }}setTimeout(fun(), 1000)自己看下结果
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript