Console.log(变量);VS console.log([变量]);/一个提供信息,另一个没有

console.log( variable ); VS console.log( [variable] ); / One gives info the other doesn't?

本文关键字:log 变量 信息 一个 另一个 console VS Console      更新时间:2023-09-26

在Chrome中,这给出了HTML标签:

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

在Chrome中,这给出了各种信息,如clientWidth等:

console.log([image]);

为什么会这样?

console.log是一种讲究的方法。它是按照浏览器团队的决定来实现的,因为没有正式的规范(上次我检查过)。

在第一个.log(image) Chrome。控制台似乎在你的HTMLElement上运行.toString(或等效)方法,并给你字符串输出。

在第二个.log([image]) Chrome。控制台将数组的内容输出为索引对象/原语。它不会尝试像处理log的第一级参数那样处理数组的子元素,所以它给您的是实际的HTMLElement Object,而不是字符串输出。

console.log(image);

记录文档中对HTMLELement的直接引用,显示实际的<img> (或任何其他元素)标签。

console.log([image]);

这里传递一个Array作为参数,它将记录一个数组。该数组仅显示HTMLElementObject