Javascript console.log(变量);VS console.log([变量]);/一个提供信息,另一个不提供';T

Javascript console.log(变量);VS console.log([变量]);/一个提供信息,另一个不提供';T,javascript,console.log,Javascript,Console.log,在Chrome中,这提供了HTML标记: var image = document.getElementsById('image'); console.log(image); 在Chrome中,这会提供各种信息,如clientWidth等: console.log([image]); 为什么会这样 console.log(image); 这将记录对文档中HTMLELement的直接引用,显示实际的(或任何其他元素)标记 这里您将一个数组作为参数传递,它将记录一个数组。该数组仅显示HTML

在Chrome中,这提供了HTML标记:

var image = document.getElementsById('image');

console.log(image);
在Chrome中,这会提供各种信息,如
clientWidth
等:

console.log([image]);
为什么会这样

console.log(image);
这将记录对文档中
HTMLELement
的直接引用,显示实际的
(或任何其他元素)标记

这里您将一个
数组作为参数传递,它将记录一个数组。该数组仅显示
HTMLElement
对象

这将记录对文档中
HTMLELement
的直接引用,显示实际的
(或任何其他元素)标记


这里您将一个
数组作为参数传递,它将记录一个数组。该数组只是向您显示
HTMLElement

控制台的
对象。它的实现是由浏览器团队决定的,因为没有正式的规范(上次我检查)

在第一个
.log(image)
Chrome.console中,似乎在HTMLElement上运行
.toString
(或等效)方法,并提供字符串输出


在第二个
.log([image])
Chrome.console将数组的内容作为索引对象/原语输出。它不会尝试将数组的子级处理为
log
的一级参数,因此它会提供实际的HtmleElement对象,而不是字符串输出。

控制台。log
是一种挑剔的方法。它的实现是由浏览器团队决定的,因为没有正式的规范(上次我检查)

在第一个
.log(image)
Chrome.console中,似乎在HTMLElement上运行
.toString
(或等效)方法,并提供字符串输出


在第二个
.log([image])
Chrome.console将数组的内容作为索引对象/原语输出。它不会试图像处理
日志的第一级参数一样处理数组的子对象,因此它会为您提供实际的HtmleElement对象,而不是字符串输出。

作为旁注,您可以使用
console.dir
来记录对象,而无需太多挑剔的行为。作为旁注,您可以使用
console.dir
来记录对象,而无需太多挑剔的行为。单击HTML标记可以将其展开,或者让它在DOM选项卡中检查您,至少单击HTML标记可以将其展开,或者让它至少在DOM选项卡中检查您
console.log([image]);