javascript - 为什么这段代码最后打印 `undefined`?

标签 javascript

当我在 Chrome 的开发者工具 JavaScript 控制台中运行以下代码时,

var solution = 1;
for(var i = 1; i <= 12; ++i)
    solution *= i;
console.log(solution.toString());

我得到以下输出:

479001600
undefined

当我删除最后一行时,即 console.log(solution.toString()); ,我只得到479001600 。会发生什么?

最佳答案

未定义只是控制台告诉您该语句的方式:

console.log(solution.toString());

本身不返回值(它输出一个值,但不返回值)。当您的实际代码执行时,无需担心,因为它是开发人员控制台的特定行为。

再举一个例子,如果您在控制台中输入:5 + 6,它将在控制台的下一行上报告 11,因为控制台总是希望报告任何从刚刚执行的语句返回的值。

关于javascript - 为什么这段代码最后打印 `undefined`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45196575/

相关文章:

javascript - 如何在 ag-grid 中设置默认的最小和最大列宽

javascript - DriveApp.removeFile 的真正目的是什么?

javascript - Node.js "Error: Can not find module"

javascript - 当尝试在变量上推送值时推送未定义而不是值

javascript - 谷歌图表选择监听器返回错误的列号

javascript - 使用传播运算符的对象复制实际上是浅的还是深的?

javascript - FB.ui 未定义

javascript - 拉伸(stretch)文本 ... 如果在 Html5 Canvas 中长度大于 10

javascript - 将变量值放入 jQuery 的追加中

javascript - 我们如何在 html5 Canvas 上绘制调整大小的图像?