2013-03-11 317 views

回答

4

undefined这是最后一条语句的返回值。

> 5 
5 
> "Hello World" 
"Hello World" 
> (function(){ return 6})(); 
6 

每当在JavaScript函数没有明确返回任何东西,它返回undefined默认。

总结过程中,object是您的console.log(typeof null)调用的结果。您的代码运行后,将object记录到控制台,然后打印出函数调用的返回值undefined

这可能是eval如何工作的结果。 Chrome中的开发人员工具中的控制台可能在您的代码上运行evaleval返回的最后一条语句/表达你把它的值

> eval(5); 
5 

(注:我知道这是相当明显的,但是在一个示例使用eval时,我觉得有必要提及的是,虽然REPL是我们必须记得的优秀用例eval is evil

+0

“这可能是eval'工作原理的结果”或者说''console.log'函数返回undefined?我很困惑为什么重要的是可能会涉及'eval'。 – Xymostech 2013-03-11 17:31:27

+1

也许你可以包含第一行('object')不是返回值,而是'console.log(typeof null)'的输出。在我意识到之前,我花了一段时间。 – 11684 2013-03-11 17:34:01

+0

@Xymostech你正在输入表达式“5”,它以某种方式键入“5”给你,为什么会发生?我认为''eval'是Chrome开发者工具控制台如何工作为Read-Eval-Print-Loop和全部的重要组成部分。当你在控制台输入代码时,它会被评估。当我开始说什么正在发生时,我觉得解释_how_很重要。 – 2013-03-11 17:34:14

相关问题