function foo() {
console.log('always');
return 'once'
}
foo()
foo()
foo()
输出看起来像- 总是 总是 总是 一次
我想知道在执行过程中会发生什么,以便“总是”打印三次,而“一次”打印(返回)一次。
答案 0 :(得分:4)
原因是JS控制台始终评估最后一个表达式并将其输出打印到控制台。实际上,您的foo()
函数在所有3个调用中都返回一个值。这是您对foo()
的最后一次调用,将其打印到控制台。要亲自查看,请在代码末尾附加另一个表达式:
function foo(){
console.log('always');
return 'once'
}
foo()
foo()
foo()
a = 42
这次您的输出将是
always
always
always
42