0
我刚刚执行以下代码在铬JavaScript控制台:了解“console.log(typeof null);”的调用在JavaScript控制台
console.log(typeof null);
结果是出现在下面的屏幕截图:
我只是想知道灰色的<- undefined
线意味着什么。任何人都可以请指教?
我刚刚执行以下代码在铬JavaScript控制台:了解“console.log(typeof null);”的调用在JavaScript控制台
console.log(typeof null);
结果是出现在下面的屏幕截图:
我只是想知道灰色的<- undefined
线意味着什么。任何人都可以请指教?
undefined
这是最后一条语句的返回值。
> 5
5
> "Hello World"
"Hello World"
> (function(){ return 6})();
6
每当在JavaScript函数没有明确返回任何东西,它返回undefined
默认。
总结过程中,object
是您的console.log(typeof null)
调用的结果。您的代码运行后,将object
记录到控制台,然后打印出函数调用的返回值undefined
。
这可能是eval
如何工作的结果。 Chrome中的开发人员工具中的控制台可能在您的代码上运行eval
。 eval
返回的最后一条语句/表达你把它的值
> eval(5);
5
(注:我知道这是相当明显的,但是在一个示例使用eval时,我觉得有必要提及的是,虽然REPL是我们必须记得的优秀用例eval is evil)
“这可能是eval'工作原理的结果”或者说''console.log'函数返回undefined?我很困惑为什么重要的是可能会涉及'eval'。 – Xymostech 2013-03-11 17:31:27
也许你可以包含第一行('object')不是返回值,而是'console.log(typeof null)'的输出。在我意识到之前,我花了一段时间。 – 11684 2013-03-11 17:34:01
@Xymostech你正在输入表达式“5”,它以某种方式键入“5”给你,为什么会发生?我认为''eval'是Chrome开发者工具控制台如何工作为Read-Eval-Print-Loop和全部的重要组成部分。当你在控制台输入代码时,它会被评估。当我开始说什么正在发生时,我觉得解释_how_很重要。 – 2013-03-11 17:34:14