Chrome / Firefox console.log总是附加一行说明未定义的行
每次执行console.log
,都会在输出日志中附加一行说明undefined
的行。
Firefox和Chrome在Windows和Linux上都会出现。
如果您从JS文件运行console.log()
,则不应该添加此undefined
行。
如果你从控制台本身运行console.log()
,这是有道理的。 这就是为什么:在控制台中,你可以输入一个变量的名字(例如尝试输入window
),并输出关于它的信息。 当你从控制台运行任何void函数(如console.log)时,它也会打印出关于返回值的信息,在这种情况下是undefined
。
我在我的Chrome(Mac版本23.0.1271.101)上测试了这两种情况,实际上当我在控制台中运行它时,我看到了undefined
行。 当我在控制台写这行时,这个undefined
也出现: var bla = "sdfdfs"
虽然谈话的答案没问题,但我试图说得更直截了当:
JavaScript被设计为动态语言,这意味着函数返回值的类型(string,void,boolean …)没有预先定义。 如果函数没有使用返回语句或没有值的空return语句,那么JavaScript会自动返回undefined。 这意味着在JavaScript中,每个函数都会返回一些东西,至少是未定义的。
因此,Chrome控制台中的函数console.log()
使用no或者一个空的return语句,所以这个函数的返回值是未定义的。 此功能返回值也会显示在Chrome控制台中。
[如果有人知道在哪里可以找到Google Chrome源代码中console.log()
函数的定义,请对该链接进行评论,然后我们甚至可以进一步查看真实的代码,会很好。
资料来源:
如果您使用console.log
在一行中发出多个值,这是一个很好的选择:
var1 + ' ' + var2 + ' ' + var...
(更好的想法欢迎,在某些情况下这可能会炸毁)