gpt4 book ai didi

dom - DOM 扩展/包装究竟是什么?

转载 作者:数据小太阳 更新时间:2023-10-29 06:03:39 25 4
gpt4 key购买 nike

我有两个主要问题。

  1. Object 之类的扩展是否算数?

  2. 什么是 DOM 包装?

http://perfectionkills.com/whats-wrong-with-extending-the-dom/

读完那篇文章后,我找不到任何关于 DOM 包装的信息,也没有任何规范以及究竟什么是 DOM 扩展,什么不是 DOM 扩展。

最佳答案

不,Object 被指定为 Javascript 语言 的一部分,而 DOM 是一个 API 仅在浏览器环境中相关并且是用于“访问和更新文档的内容、结构和样式”(W3C) .

但是,那篇文章中提供的反对扩展 DOM 对象的理由之一仍然适用于扩展原生类型,例如 Object - 即冲突的可能性。


包装对象是指创建一个引用原始对象的对象,但通过新的包装对象提供额外的功能。

例如,不是像这样使用跨浏览器 addClass 函数扩展 DOM 元素对象:

var element = document.getElementById('someId');
element.addClass = function (className) {
...
};

您可以改为定义一个包装函数:

var ElementWrapper = function (element) {
this.element = element;
};

并将函数添加到它的原型(prototype)中:

ElementWrapper.prototype.addClass = function (className) {
...
};

然后像这样“包装”元素:

var element = document.getElementById('someId');
var wrapped = new ElementWrapper(element);
wrapped.addClass('someClass');

关于dom - DOM 扩展/包装究竟是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5318846/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com