【问题标题】:Why is "console.log" being executed every time the function is called, but "return" is executed only once?为什么每次调用函数都会执行“console.log”,而“return”只执行一次?
【发布时间】:2020-06-01 20:00:12
【问题描述】:

function foo() {
  console.log('always');
  return 'once'
}

foo()
foo()
foo()

输出看起来像 - 总是 总是 总是 一次

我想知道在执行过程中会发生什么,以便“总是”被打印三次,而“一次”只被打印(返回)一次。

【问题讨论】:

标签: javascript output execution


【解决方案1】:

原因是 JS 控制台总是计算最后一个表达式并将其输出打印到控制台。实际上,您的 foo() 函数在所有 3 个调用中都返回了一个值。这是您最后一次调用foo() 会打印到控制台。要自己查看,请在代码末尾附加另一个表达式:

function foo(){
  console.log('always');
  return 'once'
}

foo()
foo()
foo()
a = 42

这一次你的输出是

always
always
always
42

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-23
    • 1970-01-01
    • 2022-11-20
    • 2011-12-01
    • 2014-05-23
    相关资源
    最近更新 更多