当我在 console.log 内调用 console.log 时发生了什么?
What is happening when I call console.log within console.log?
我试图了解当我在另一个 console.log() 中调用 console.log 时发生了什么,就像这样:
console.log(console.log("Hello"));
我的结果是:
Hello
undefined
试图表明未定义的外部 console.log() 是什么?
console.log("Hello")的return值:"void"与javascript[=10中的"undefined"大致相同=]
console.log("Hello")
的第一次调用将 "Hello" 和 returns undefined
值打印到下一次调用。因此顺序是
Hello // from console.log("Hello");
undefined // from console.log(undefined);
console.log()
returns 没什么,它只是打印到控制台。因此,您正在尝试 log
一个未定义的值。
正如您在下面看到的,我们用 document.write
模仿 console.log
的行为。正如预期的那样,第二个值未定义:
document.write(document.write("Hello"));
基本上
typeof console = "object"
typeof console.log = "function"
typeof console.log("Hello") = "undefined"
所以第一个console.log(x);在有 x 的地方有一个 undefined。
这是因为您在 console
中编写此代码,而 console.log()
不是 return 任何值。
如果你在任何函数中编写相同的代码,那么你会得到不同的结果
例如
function test()
{
console.log("test")
return 1;
}
现在当你在控制台执行 test()
函数时你会得到
test
1
并且如果您定义另一个函数而不是 return 类型..
function test2()
{
console.log("test")
}
然后你得到
test
undefined
如果 JavaScript 方法没有明确的 return 则它 return 是 undefined
对象。 console.log 根据 chrome 看起来像:
console.log(object [, object, ...])
So, inner console.log('Hello') //打印输出浏览器控制台但是它 returns undefined
所以 outer console.log 正在打印 undefined
.
我试图了解当我在另一个 console.log() 中调用 console.log 时发生了什么,就像这样:
console.log(console.log("Hello"));
我的结果是:
Hello
undefined
试图表明未定义的外部 console.log() 是什么?
console.log("Hello")的return值:"void"与javascript[=10中的"undefined"大致相同=]
console.log("Hello")
的第一次调用将 "Hello" 和 returns undefined
值打印到下一次调用。因此顺序是
Hello // from console.log("Hello");
undefined // from console.log(undefined);
console.log()
returns 没什么,它只是打印到控制台。因此,您正在尝试 log
一个未定义的值。
正如您在下面看到的,我们用 document.write
模仿 console.log
的行为。正如预期的那样,第二个值未定义:
document.write(document.write("Hello"));
基本上
typeof console = "object"
typeof console.log = "function"
typeof console.log("Hello") = "undefined"
所以第一个console.log(x);在有 x 的地方有一个 undefined。
这是因为您在 console
中编写此代码,而 console.log()
不是 return 任何值。
如果你在任何函数中编写相同的代码,那么你会得到不同的结果
例如
function test()
{
console.log("test")
return 1;
}
现在当你在控制台执行 test()
函数时你会得到
test
1
并且如果您定义另一个函数而不是 return 类型..
function test2()
{
console.log("test")
}
然后你得到
test
undefined
如果 JavaScript 方法没有明确的 return 则它 return 是 undefined
对象。 console.log 根据 chrome 看起来像:
console.log(object [, object, ...])
So, inner console.log('Hello') //打印输出浏览器控制台但是它 returns undefined
所以 outer console.log 正在打印 undefined
.