在 JavaScript 中,为什么我们使用 el = document.createElement() 来创建 Element 对象而不是 el = new Element();

nop*_*ole 5 javascript dom

也就是说,为什么我们不遵循标准的 JavaScript 约定使用

var el = new Element("div");
Run Code Online (Sandbox Code Playgroud)

但使用

var el = document.createElement("div");
Run Code Online (Sandbox Code Playgroud)

去做吧?

(PSdocument是类的对象DocumentElement也是类,DocumentElement类都是在浏览器环境中定义的)。

Dav*_*ker 2

我的看法是,Javascript 作为一种语言需要与第三方控制结构无关。在这种情况下,向 DOM 添加新元素的 DOM 应该由其控制对象管理,document而不是通过语言new Element("div")

在 Node.js 中,没有 DOM 元素的概念,因此内置 DOM 控件在该语言中是多余的。因此,在浏览器中抽象 DOM 的控制和操作是有意义的,因此应该由抽象对象document而不是语言中的控制结构来管理。