2013-03-11 311 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

相關問題