2015-04-17 63 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

相关问题