当我在console.log中调用console.log时发生了什么?

时间:2015-04-17 03:44:23

标签: javascript console.log

我试图了解当我在另一个console.log()中调用console.log时发生了什么,如下所示:

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

我的结果是:

Hello
undefined

什么是外部console.log()试图显示未定义?

6 个答案:

答案 0 :(得分:2)

console.log("Hello")的第一次调用打印“Hello”并将undefined值返回到下一个调用。因此订单是

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

答案 1 :(得分:1)

console.log(“Hello”)的返回值:“void”与javascript中的“undefined”大致相同

答案 2 :(得分:1)

console.log()什么都不返回,只是打印到控制台。因此,您尝试log未定义的值。

如下所示,我们使用console.log模仿document.write的行为。第二个值未定义,如预期的那样:



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




答案 3 :(得分:1)

基本上

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

所以第一个console.log(x);有一个未定义的地方有一个x。

答案 4 :(得分:1)

因为您在console编写此代码并且console.log()不返回任何值。 如果你在任何函数中编写相同的代码,那么你会得到不同的结果

对于E.g

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

现在,当您在控制台中执行test()功能时,您将获得

test
1

如果你定义另一个没有返回类型的函数..

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

然后你得到

test
undefined

答案 5 :(得分:1)

如果JavaScript方法没有显式返回,则返回undefined个对象。根据chrome的console.log看起来像:

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

所以,内部console.log(' Hello')//打印输出浏览器控制台,但它返回undefined,因此外部console.log正在打印undefined