调用与调用函数

新手上路,请多包涵

到目前为止,我认为“调用”和“调用”一个函数的意思是一样的。但是,在 YouTube 教程中它说通过调用函数 _来调用它_。我的第一个想法是措辞有误,但在 W3School 的函数调用 页面 上,它说:

通常使用术语“调用函数”而不是“调用函数”……在本教程中,我们将使用调用,因为 JavaScript 函数可以在不被调用的情况下被调用。

好的,所以有区别。它是什么?

原文由 nCardot 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 376
2 个回答

您的参考文本:

通常使用术语“调用函数”而不是“调用函数”……在本教程中,我们将使用调用,因为 JavaScript 函数可以在不被调用的情况下被调用。

现在让我重新表述一下:

通常使用术语“调用函数”而不是“调用函数”……在本教程中,我们将使用术语 invoke 而不是 call ,因为可以 间接 调用 JavaScript 函数,如 fn.call()fn.apply() 而不是像 fn() 一样被 直接 调用。

因此,当我执行 fn() 时,它会被直接调用,而当我像 fn.call() 那样执行时,它会被间接调用,但在这两种情况下,都会调用该函数。否则,我看不出这里有什么区别,我也可以说我可以通过多种方式调用一个函数,例如:

 fn(); // I'm calling it
fn.call(); // I'm calling it
fn.apply(); // I'm calling it

所以,区别是语义上的,但两者是可以互换的,IMO。顺便说一句,我在上面的问题下写了一条评论,我想把它放在这里,它是:

IMO,这是一个误导性的陈述。也许有一些呼叫/申请或其他指示,但它完全令人困惑。

原文由 The Alpha 发布,翻译遵循 CC BY-SA 4.0 许可协议

区别是语义上的和微妙的。当你调用一个函数时,你是在直接告诉它运行。当你调用一个函数时,你就是在让某些东西运行它。

有一种调用函数的方法:

 myFunction()

在这里,您通过直接调用来调用函数(让它运行)。

调用函数的方法有很多种(在不同的评论和答案中给出)。这是一个例子:

 function invoker(functionName) {
  functionName()
}

invoker(myFunction)

在这里,通过调用 invoker ,您正在调用 myFunction ,这是间接调用的。

原文由 Brett Commandeur 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏