关于JS中setTimeOut的问题

发布网友 发布时间:2022-04-23 00:25

我来回答

1个回答

热心网友 时间:2022-04-07 10:21

setTimeout 函数的参数是 回调函数, 时长. 第一种写法是正常传递了一个匿名函数, 能正确执行, 而第二种方法, 你在 demo 后加了 (), 所以 demo 立即执行了, 传递到 setTimeout 里的是 demo() 函数的返回值追问setTimeout(demo,2000)
setTimeout(function () {
demo();
},2000);
我大致明白了,我又试了一下去掉括号,发现也能执行,为什么?
函数去掉括号和加上括号有什么区别

追答去掉括号, 他就是一个函数变量. 加上括号就立即执行了, 传进去的是函数调用后的返回值了, setTimeout 就无法再次调用到了

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com