Javascript 为什么这段代码最后会打印“未定义”?
当我在Chrome的开发者工具javascript控制台中运行以下代码时Javascript 为什么这段代码最后会打印“未定义”?,javascript,Javascript,当我在Chrome的开发者工具javascript控制台中运行以下代码时 var solution = 1; for(var i = 1; i <= 12; ++i) solution *= i; console.log(solution.toString()); 删除最后一行时,即console.log(solution.toString()),我只得到了479001600。发生了什么?未定义的只是控制台告诉您语句: console.log(solution.toString(
var solution = 1;
for(var i = 1; i <= 12; ++i)
solution *= i;
console.log(solution.toString());
删除最后一行时,即
console.log(solution.toString())代码>,我只得到了479001600
。发生了什么?未定义的只是控制台告诉您语句:
console.log(solution.toString());
本身不返回值(它输出值,但不返回值)。在实际代码执行时不必担心,因为这是开发人员控制台的特定行为
另一个例子是,如果您在控制台中键入:5+6
,它将在下一个控制台行报告11
,因为控制台总是想报告它刚刚执行的语句返回的任何值。未定义的只是控制台告诉您该语句:
console.log(solution.toString());
本身不返回值(它输出值,但不返回值)。在实际代码执行时不必担心,因为这是开发人员控制台的特定行为
另一个例子是,如果您在控制台中键入:5+6
,它将在下一个控制台行报告11
,因为控制台总是希望报告它刚刚执行的语句返回的任何值。谷歌浏览器中的控制台将始终返回上次执行的语句的值
因为您上次在控制台中的语句是
console.log()
一个没有返回任何显示为“未定义”的值
试一试
当push方法返回新形成的数组的长度时,下一行将显示1。google chrome中的控制台将始终返回最后执行的语句的值
因为您上次在控制台中的语句是
console.log()
一个没有返回任何显示为“未定义”的值
试一试
下一行将显示1,因为push方法返回新形成的数组的长度,这是因为您运行的代码没有返回任何内容。。。。这上面必须有一个复制。控制台记录您键入的任何内容的最后返回值console.log
“返回”未定义的
,这就是您看到的。如果没有它,将记录最后一个解决方案*=i
,显示您想要的结果。@NiettheDarkAbsol正是这样。感谢您的帮助。当直接在控制台中工作时,无需使用控制台
查看变量的值wow。。。。。以为有人会找一个傻瓜而不是一个简单的答案…那是因为你运行的代码没有返回任何东西。。。。这上面必须有一个复制。控制台记录您键入的任何内容的最后返回值console.log
“返回”未定义的
,这就是您看到的。如果没有它,将记录最后一个解决方案*=i
,显示您想要的结果。@NiettheDarkAbsol正是这样。感谢您的帮助。当直接在控制台中工作时,无需使用控制台
查看变量的值wow。。。。。以为有人会找一个傻瓜而不是一个简单的答案。。。