函数声明与调用中的括号
在 JavaScript 中,函数声明和调用之间的区别出现在它们的语法中。函数声明以大括号结束,而函数调用以括号结束。
考虑以下示例:
var myFunction = function() { setTimeout(myFunction, 1000); } myFunction();
这里,setTimeout 函数需要一个函数引用作为参数。当您编写 myFunction 时,您正在引用该函数本身。相反,myFunction() 实际上调用了该函数。
虽然这看起来很简单,但也有例外。 setTimeout 还可以接受返回函数的函数,例如以下代码:
function myFunction() { return function() { alert("ohai"); } } // or const myFunction = () => () => alert("ohai");
在这种情况下,setTimeout(myFunction(), 1000) 会:
这有效地安排了每秒显示一次警报。
因此,关键区别在于,当您省略括号时,您引用的是函数对象本身。当包含括号时,您将调用该函数。这适用于函数声明,例如 var myFunction = function() { ... } 和函数表达式,例如 const myFunction = () =>; { ... }.
以上是JavaScript 函数调用中括号何时起作用?的详细内容。更多信息请关注PHP中文网其他相关文章!