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