关于js类的封装 实例化 参数问题

发布于 2022-09-06 05:50:03 字数 1089 浏览 20 评论 0

提问:我用JS封装了一个类,封装方式

var dragbox = function (config, returntype) {
    var dom = this.init(config);
    // return dom;
} //构造函数
classtest.prototype={……},

为什么这个类的实例化参数会有公用问题?
就是我第一实例化的参数 ,会沿用到第二个实例化的参数,做对比
就是我类中有个辅助函数

jsonclone: function (old_object, new_object) {
        for (var key in new_object) {
            if (typeof old_object[key] != typeof new_object[key]) {
                console.warn(key + "类型错误");
                return;
            } else if (typeof old_object[key] == "object") {
                this.jsonclone(old_object[key], new_object[key]);
            } else if (old_object[key] != undefined) {
                old_object[key] = new_object[key];
            }
        }
     }
init:function (config) {
    if (config == undefined || config == null) {
        console.log("未初始化");
        return;
    }
    var othis = this;
    this.jsonclone(this.config, config);
    this.dragdom = this.init_create();
    // return this.dragdom;
}
这个类在第二次实例化的时候,类的config里参数变成第一次实例化的参数,这是为什么??
是我构建类的方法不对么?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

过去的过去 2022-09-13 05:50:03

实例化的 new 一下

var config1 = {};
var config2 = {};

var demo1 = new dragbox(config1, null);
var demo2 = new dragbox(config2, null);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文