gpt4 book ai didi

javascript - 在 JavaScript 的 if 语句中使用不带括号的函数名有什么作用?

转载 作者:行者123 更新时间:2023-11-29 23:12:13 25 4
gpt4 key购买 nike

例如:

function foo (parameter1, parameter2) {
// does something
}

if (foo) {
foo(parameter1, parameter2);
}

在另一个问题 ( In JavaScript, does it make a difference if I call a function with parentheses? ) 中讨论了不带括号调用函数,但我仍然不明白上面的代码是做什么的。

我问是因为我想了解 if (drag) {..} 在此代码中的作用:https://andreasrohner.at/posts/Web%20Development/JavaScript/Simple-orbital-camera-controls-for-THREE-js/

最佳答案

您的代码定义了一个带有两个参数的全局函数 foo。

之后有一个 if 语句来检查 foo 是否为真(foo 是您的函数,因此为真)。所以它调用函数 foo。 但要小心,如果没有定义 foo,您的代码将抛出 ReferenceError

检查函数是否存在的更好方法是:

if (typeof foo === "function") { 
// safe to use the function foo
}

关于javascript - 在 JavaScript 的 if 语句中使用不带括号的函数名有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53685757/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com