JavaScript中的"node"和"object"有什么区别?

What's the difference between "node" and "object" in JavaScript?

我在 post (Difference between Node object and Element object?) 中读到“节点是 DOM 层次结构中任何类型对象的通用名称”。所以现在我想知道:JavaScript 中是否有任何不是节点的对象?能举个例子吗?

JavaScript 中的很多东西都是对象。比如下面是一个对象:

const obj = {};

与许多其他对象一样,例如 window、全局 Array 对象等。

节点是一种非常特殊的对象类型。开发人员使用的对象中只有一小部分是节点对象。只有在使用 DOM 时才能在前端环境中找到节点,如下所示:

const span = document.querySelector('span');
console.log(span.textContent);
<span>foo</span>

Node界面用于表示浏览器中的DOM对象。所有 Node 实现都是 Object,但并非所有 Object 类型都有支持它们的浏览器 DOM 接口。

标准内置对象和 Web 界面对象之间存在区别。

Web APIs - Interfaces

Web APIs are typically used with JavaScript, although this doesn't always have to be the case.

Standard built-in objects

For more information about the distinction between the DOM and core JavaScript, see JavaScript technologies overview.

标准对象与网络界面对象

例如Node.js中的JavaScript与浏览器JavaScript略有不同,因为node中的JavaScript运行无头,不依赖浏览器执行.大多数特定于 Web 的界面不存在于标准 Node.js 库中。有关详细信息,请参阅:Differences between Node.js and the Browser