2015-04-17 95 views
-1

我想明白髮生了什麼,當我調用另一個的console.log(內的console.log),像這樣:當我在console.log中調用console.log時發生了什麼?

console.log(console.log("Hello")); 

我的結果是:

Hello 
undefined 

什麼是外控制檯.log()試圖顯示那是未定義的?

+2

'console.log()'的返回值是'undefined'。 –

+0

[控制檯返回未定義]的可能重複(http://stackoverflow.com/questions/11360904/console-returns-undefined) –

回答

1

基本上

typeof console = "object" 
typeof console.log = "function" 
typeof console.log("Hello") = "undefined" 

所以第一個的console.log(X);有一個未定義的地方有一個x。

1

的console.log(「你好」)的返回值:「作廢」講述的是同爲「未定義」在JavaScript

2

console.log("Hello")打印第一個電話「你好」和undefined值返回到下一個呼叫。因此,訂單是

Hello // from console.log("Hello"); 
undefined // from console.log(undefined); 
1

console.log()什麼也沒有返回,它只是打印到控制檯。因此,您正在嘗試log未定義的值。

正如您在下面看到的,我們模仿console.log的行爲與document.write。所述第二值是未定義的,如所預期:

document.write(document.write("Hello"));

1

因爲你在consoleconsole.log()中寫這段代碼沒有返回任何值。 如果你在任何函數編寫相同的代碼,那麼你會得到不同的結果

爲EG

function test() 
{ 
console.log("test") 
return 1; 
} 

現在,當您在控制檯執行test()功能,您將得到

test 
1 

,如果你定義了另一功能不帶退貨類型..

function test2() 
    { 
    console.log("test") 
    } 

然後你得到

test 
undefined 
1

如果JavaScript方法沒有一個明確的回報則返回undefined對象。根據鉻CONSOLE.LOG樣子:

console.log(object [, object, ...]) 

因此,內部的console.log(「你好」)//打印輸出瀏覽器控制檯,但它返回undefined所以外的console.log是印刷undefined

相關問題