N. *_*maa 66 javascript debugging console logging
每次console.log执行时,都会undefined在输出日志中附加一行说明.
适用于Windows和Linux上的Firefox和Chrome.
tal*_*kol 83
如果您console.log()从JS文件运行,则undefined不应追加此行.
如果你console.log()从控制台本身运行,这是有道理的.这就是原因:在控制台中,您可以键入变量的名称(例如尝试键入window),然后打印有关它的信息.当您从控制台运行任何void函数(如console.log)时,它还会打印出有关返回值的信息,undefined在本例中.
我在我的Chrome上测试了两个案例(Mac ver 23.0.1271.101),undefined当我在控制台中运行它时,我确实看到了这一行.这undefined时候我写在控制台此行也出现:var bla = "sdfdfs"
Pau*_*ang 37
虽然talkol的答案还可以,但我试着说得更直接:
JavaScript被设计为动态语言,这意味着函数返回值的类型(string,void,boolean ...)不是预定义的.如果函数不使用return语句或没有值的空return语句,则JavaScript会自动返回undefined.这意味着在JavaScript中,每个函数都返回一些东西,至少是未定义的.
因此console.log(),Chrome控制台中的函数使用no或者返回空语句,因此未定义此函数的返回值.此功能返回值也会显示在Chrome控制台中.
[如果有人知道在哪里可以找到console.log()谷歌Chrome源代码中的功能定义,请通过链接进行评论,然后我们甚至可以进一步查看真实的代码,会很好.]
资料来源:
小智 7
按照图片解决这个问题:
Ctrl + Shift + J
Run Code Online (Sandbox Code Playgroud)

小智 7
浏览器中的控制台环境旨在获取程序中的最后一个语句表达式并评估它的值,然后向您显示该值。
赋值表达式的结果是被赋值的值。所以 JavaScript 引擎只是做了一个赋值,但控制台做了一个额外的步骤,即设置我最后一条语句是什么,把那个值还给你。这就是它打印 2 的原因:

在没有返回值的语句中,您会得到类似 undefined 的信息。
| 归档时间: |
|
| 查看次数: |
35033 次 |
| 最近记录: |