【问题标题】:Is return a function in JavaScript? [duplicate]是在 JavaScript 中返回一个函数吗? [复制]
【发布时间】:2023-03-06 02:02:02
【问题描述】:

显然 return 可以作为函数调用?

function say() {
   return (
     console.log("Am"),
     console.log("I"),
     console.log("a"),
     console.log("function?")
  );
}

say();

这是否意味着 return 一个函数?

【问题讨论】:

  • 不 - 它仍然直接发生在 say 的堆栈中,而不是在某些新函数中。
  • 不,是关键字。就像 ++ 不是函数但你可以 ++(x)
  • 这是返回的语法。 , 不是 ; 这是一个表达式而不是一个语句。
  • 你可以在括号之间放任何东西。 (a = 2)a = (2)(a) = 32

标签: javascript function return


【解决方案1】:

关键字“return”不是函数。文件说 return 是一个声明。

return 语句结束函数执行并指定要返回给函数调用者的值。

意思是

(
     console.log("Am"),
     console.log("I"),
     console.log("a"),
     console.log("function?")

)

被评估为一个表达式,该表达式的结果从say() 函数返回。括号仅将对console.log 的四个调用组合在一起。逗号用于分隔表达式中的函数调用。

this 表达式将返回列表中最后一个元素返回的值,在本例中为console.log("function?")。并且函数console.log 返回未定义。

所以函数say() 将返回undefined

【讨论】:

  • 很好的解释,谢谢!
猜你喜欢
  • 1970-01-01
  • 2014-04-06
  • 1970-01-01
  • 2011-02-04
  • 1970-01-01
  • 1970-01-01
  • 2019-11-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多