gpt4 book ai didi

javascript - 每次调用时都有新实例的命名空间

转载 作者:行者123 更新时间:2023-12-03 05:24:29 25 4
gpt4 key购买 nike

我正在尝试创建类似于 d3 的东西(例如:d3.select()),但更简单,每次调用命名空间函数时我都需要一个新实例。这可能吗?或者我的做法是错误的吗?

var dom = new function () {
var Element = null;
this.select = function (query) {
Element = document.querySelector(query);
return this;
};
this.append = function (elem) {
Element.append(elem);
return this;
};
};

预期用途

var bodyelement = dom.select("body");
var p = dom.select("p");

最佳答案

每次使用 dom 对象时,您都需要运行一些代码。因此,如果 dom 对象是一个函数,您可以调用它来获取一个新实例。

var dom = function () {
var Element = null;
var newdom = {};
newdom.select = function (query) {
Element = document.querySelector(query);
return this;
};
newdom.append = function (elem) {
Element.append(elem);
return this;
};
return newdom;
};

console.log(dom() === dom(), "(false means the instances are different)");

关于javascript - 每次调用时都有新实例的命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41209862/

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