我刚刚开始学习javascript,并且我已经写了一段在输出结束时显示的代码。为什么?
var laugh = function laughs(y) {
while (y > 0) {
console.log("ha");
y--;
}
console.log("ha!");
}
console.log(laugh(10));
这是输出:
ha
ha
ha
ha
ha
ha
ha
ha
ha
ha
ha!
undefined发布于 2018-01-27 03:35:07
laugh不返回任何内容,默认情况下,函数将返回undefined,这将传递到您的最后一个console.log调用中。
发布于 2018-01-27 03:36:21
因为函数laugh不返回任何值,所以结果为undefined。
看一下返回"HELLO"的修改,这只是为了说明。
var laugh = function laughs(y) {
while (y > 0) {
console.log("ha");
y--;
}
console.log("ha!");
return "HELLO";
}
console.log(laugh(10));
发布于 2018-01-27 03:36:49
laugh()不显式返回值;因此它的返回类型为undefined。您从console.log()中调用laugh() -结果是,您将看到laugh()中发生的所有console.log()调用,此外,由laugh()返回的undefined将被记录到控制台。
如果你想记录函数的结果,你可以返回一个字符串。如下所示:
var laugh = function laughs(y) {
var str = '';
while (y > 0) {
//console.log("ha");
str += 'ha\n';
y--;
}
//console.log("ha!");
str += 'ha!\n';
return str;
}
console.log(laugh(10));
或者,您可以像这样删除包含函数调用的console.log():
var laugh = function laughs(y) {
while (y > 0) {
console.log("ha");
y--;
}
console.log("ha!");
}
laugh(10);
https://stackoverflow.com/questions/48468322
复制相似问题