何时在函数调用中使用括号
检查以下代码时:
var myFunction = function() { setTimeout(myFunction, 1000); } myFunction();
有人可能想知道为什么setTimeout 内的函数调用不需要括号,而独立函数调用
理解区别
超时函数参数
setTimeout 将函数引用作为其参数之一。在给定的代码中,myFunction 被引用为回调函数。
超时参数中的括号
在 setTimeout(myFunction(), 1000) 中包含括号可能会产生意想不到的后果如果 myFunction 返回一个函数(例如,使用箭头函数)。在这种情况下,setTimeout 将接收 myFunction 的返回值而不是函数引用本身。这可能会导致重复的函数执行或意外行为。
因此,当使用 setTimeout 或需要函数引用的类似方法时,通常建议省略函数参数的括号。
以上是为什么 `setTimeout` 中的函数调用不总是用括号括起来?的详细内容。更多信息请关注PHP中文网其他相关文章!