这是我使用return
的bark
函数。当我调用它时,我调用了四次,但我只得到最后一个函数的值,即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));
它应该按照你的意愿行事。