【问题标题】:Why js console prints the correct value, but also undefined?为什么js控制台打印正确的值,但也未定义?
【发布时间】:2021-04-28 03:26:31
【问题描述】:

我有这个函数示例,但是当我在浏览器的 js 控制台中运行它时,我得到了预期的结果,但结果的随机(我认为是随机的)位置也有一个“未定义”。这是因为处理时间太快了吗?当我需要在未来的编码中进行一些排序时,这会是一个问题吗? 这是代码:

const myColours = ["yellow", "green", "black", "orange"]

function givemeFour(a,b,c,d,e = "hello") {
   console.log("A", a);
   console.log("B", b);
   console.log("C", c);
   console.log("D", d);
   console.log("E", e);
}

givemeFour(...myColours)
.as-console-wrapper { max-height: 100% !important; top: 0; }

这是我控制台的输出

【问题讨论】:

  • 你的控制台图片完全错误,你用photoshop做的?
  • 不哈哈哈,就是输出。

标签: javascript html function console output


【解决方案1】:

它正在打印您提供的表达式计算的值。例如,如果您输入2+2,它将输出4。您提供的各种表达式是对不返回任何内容 (givemeFour) 的函数的调用,因此它会打印 undefined

【讨论】:

  • 好的,我想我明白你所说的,但是为什么每次运行的顺序都不同(我在控制台中看到的顺序)?非常感谢您的回答。
  • 大概是因为涉及到两个任务
【解决方案2】:

您看到未定义是因为函数本身不返回任何内容。使用函数声明语法,您需要一个explicit return statement,否则在调用函数时您会看到undefined 登录到控制台。尝试在函数末尾添加类似 return "Hello from my function" 的内容。您会看到已记录,而不是 undefined

您会看到undefined 填充在 console.logs 中的不同点,因为 console.logs 和编写的函数调用在执行时间方面并不相互依赖。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-04
    • 1970-01-01
    • 2012-05-03
    • 1970-01-01
    • 2022-06-16
    • 1970-01-01
    相关资源
    最近更新 更多