【发布时间】:2021-02-15 14:15:29
【问题描述】:
如果我们这样做:console.log(typeof document) 我们会知道 document 是一个 object
我想对象应该以以下格式显示:
object_name{property1:value1,property2:value2,...}
无论如何,对于文档对象,如果我们简单地执行console.log(document),那么我们将显示以下格式的结果:
<!DOCTYPE html>
<html>
<head></head>
<body></body>
</html>
为什么文档的显示方式如此奇特?
【问题讨论】:
-
不确定原因,window.document 是对文档的引用。它不是一个对象。它的行为就像您记录 div 或任何其他 html 元素时一样。
-
document不像“其他对象”;它是浏览器向 JavaScript 领域公开的 API。这是独一无二的。 -
对于浏览器如何在控制台中表示值没有标准。对于许多与 DOM 有某种关联的对象,它们的 HTML 表示会被记录下来。但是浏览器可以随心所欲地进行。
-
与
console.log(document.getElementById("foo"))不呈现经典对象视图的原因相同。 -
这也不是浏览器的怪癖,不能保证任何 javascript
console.log实现都会打印所有对象的键值对。例如,在node中打印Buffer将输出Buffer对象的更有用的可视化效果。它只是被认为更有用。
标签: javascript object dom ecmascript-6