为什么每次调用函数时都会执行 "console.log",而 "return "只执行一次?

问题描述 投票:0回答:1

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

foo()
foo()
foo()

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

我想知道在执行过程中发生了什么,所以 "always "被打印了三次,而 "once "只被打印(返回)一次。

javascript output execution
1个回答
4
投票

原因是JS控制台总是评估最后一个表达式并将其输出打印到控制台。在现实中,你的 foo() 函数在3次调用中都返回一个值。这是你最后一次调用 foo() 被打印到控制台。要自己看这个,可以在代码末尾添加另一个表达式。

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

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

这次你的输出将是

always
always
always
42
© www.soinside.com 2019 - 2024. All rights reserved.