首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我的代码会显示这个吗?

我的代码会显示这个吗?
EN

Stack Overflow用户
提问于 2018-01-27 03:33:07
回答 3查看 56关注 0票数 0

我刚刚开始学习javascript,并且我已经写了一段在输出结束时显示的代码。为什么?

代码语言:javascript
复制
var laugh = function laughs(y) {

  while (y > 0) {

    console.log("ha");
    y--;

  }

  console.log("ha!");
}

console.log(laugh(10));

这是输出:

代码语言:javascript
复制
ha
ha
ha
ha
ha
ha
ha
ha
ha
ha
ha!
undefined
EN

回答 3

Stack Overflow用户

发布于 2018-01-27 03:35:07

laugh不返回任何内容,默认情况下,函数将返回undefined,这将传递到您的最后一个console.log调用中。

票数 2
EN

Stack Overflow用户

发布于 2018-01-27 03:36:21

因为函数laugh不返回任何值,所以结果为undefined

看一下返回"HELLO"的修改,这只是为了说明。

代码语言:javascript
复制
var laugh = function laughs(y) {
  while (y > 0) {
    console.log("ha");
    y--;
  }

  console.log("ha!");

  return "HELLO";
}

console.log(laugh(10));

票数 0
EN

Stack Overflow用户

发布于 2018-01-27 03:36:49

laugh()不显式返回值;因此它的返回类型为undefined。您从console.log()中调用laugh() -结果是,您将看到laugh()中发生的所有console.log()调用,此外,由laugh()返回的undefined将被记录到控制台。

如果你想记录函数的结果,你可以返回一个字符串。如下所示:

代码语言:javascript
复制
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()

代码语言:javascript
复制
var laugh = function laughs(y) {
  while (y > 0) {
    console.log("ha");
    y--;
  }
  console.log("ha!");
}

laugh(10);

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48468322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档