为什么几个函数调用只产生最后一个结果



这是我使用returnbark函数。当我调用它时,我调用了四次,但我只得到最后一个函数的值,即bark("lady", 17);,如果我只使用console.log而不是return来使用这个函数,那么它会显示所有四个结果。

为什么会发生这种情况,为什么我看不到所有函数调用的结果?

function bark(name, weight) {
var barkVoice;
if (weight > 20) {
barkVoice = name + " says WOOF WOOF";
} else {
barkVoice = name + " says woof woof";
}
return barkVoice;
}
bark("rover", 23);
bark("spot", 13);
bark("spike", 53);
bark("lady", 17);

发生这种情况是因为您的环境可能是一个控制台。它通常取最后一个表达式并打印出来。

如果你运行

console.log(bark("rover", 23));
console.log(bark("spot", 13));
console.log(bark("spike", 53));
console.log(bark("lady", 17));

它应该按照你的意愿行事。

最新更新