为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

长风秋雁 2019-02-14 18:15:52
提问:我用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里参数变成第一次实例化的参数,这是为什么??是我构建类的方法不对么?
查看完整描述

1 回答

?
GCT1015

TA贡献1827条经验 获得超4个赞

实例化的 new 一下


var config1 = {};

var config2 = {};


var demo1 = new dragbox(config1, null);

var demo2 = new dragbox(config2, null);


查看完整回答
反对 回复 2019-02-25
  • 1 回答
  • 0 关注
  • 422 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号