在JavaScript中,为什么我们使用el = document.createElement()来创建一个Elemen

In JavaScript, why do we use el = document.createElement() to create an Element object instead of el = new Element();

本文关键字:createElement 创建 Elemen 一个 document JavaScript 为什么 我们 el      更新时间:2023-09-26

也就是说,为什么我们不遵循使用

的标准JavaScript约定呢?
var el = new Element("div");

但使用

var el = document.createElement("div");

去做?

(注:

documentDocument类的对象。Element也是一个类,DocumentElement类都是在浏览器环境中定义的)

所有document.xxxx方法都是DOM的一部分,而不是Javascript语言的一部分。它是一个独立的API,属于浏览器,但是浏览器中的Javascript可以访问它。

如果要在浏览器中实现另一种语言,它将使用完全相同的API访问DOM。事实上,IE中的VBScript就是这样做的——为了证明,请看这里的一些示例代码。(但请注意,我是不是建议在浏览器中实际使用VBScript !坚持使用JS)

Javascript可以在浏览器环境之外使用(例如node.js),在这种情况下,它可能没有或不需要DOM类结构。

DOM也可以在浏览器之外实现,并且相同的API对于使用它的任何语言都是可用的。例如,PHP有一个DOMDocument类,它实现了所有相同的DOM方法来从树中添加/删除/等元素。

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

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

相关文章: