元素一个保留的Javascript函数?

时间:2017-01-28 15:46:15

标签: javascript ecmascript-6 ecmascript-5

我正在创建一个javascript库,我在其中使用HTML元素的包装器(就像jQuery' s $())。我想简单地称之为Element,但后来我发现javascript已经有Element个对象:Found here...

此时我使用我的包装器:

var divs = new Element('div').each(function (element) {
    console.log(new Element(element));
});

值得注意的是,当我在控制台(Element)中记录console.log(Element);时,它会输出以下代码(我的库未包含在网页中):

Logging Element

以上内容与Node相同。

因此我的问题是:Element是javascript中的保留字吗?或者将它用作定制包装是完全正确的,因为它是一个虚拟的"宾语?实际上问题是Node,因为那是is an object in javascript aswell

1 个答案:

答案 0 :(得分:2)

ElementNode是DOM的一部分。

如果变量用于非全局范围(块范围,IIFE,ES6 / CommonJS模块)并且不覆盖变量,那么对变量使用ElementNode名称是完全正确的。全球性的。

如果需要,仍然可以在window上访问全局。

(() => {

class Element { ... }
class Node { ... }

Node !== window.Node;
document instanceof window.Node === true;

})();