鍍金池/ 問答/HTML/ 關(guān)于js類的封裝 實(shí)例化 參數(shù)問題

關(guān)于js類的封裝 實(shí)例化 參數(shù)問題

提問:我用JS封裝了一個(gè)類,封裝方式

var dragbox = function (config, returntype) {
    var dom = this.init(config);
    // return dom;
} //構(gòu)造函數(shù)
classtest.prototype={……},

為什么這個(gè)類的實(shí)例化參數(shù)會(huì)有公用問題?
就是我第一實(shí)例化的參數(shù) ,會(huì)沿用到第二個(gè)實(shí)例化的參數(shù),做對(duì)比
就是我類中有個(gè)輔助函數(shù)

jsonclone: function (old_object, new_object) {
        for (var key in new_object) {
            if (typeof old_object[key] != typeof new_object[key]) {
                console.warn(key + "類型錯(cuò)誤");
                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;
}
這個(gè)類在第二次實(shí)例化的時(shí)候,類的config里參數(shù)變成第一次實(shí)例化的參數(shù),這是為什么??
是我構(gòu)建類的方法不對(duì)么?

回答
編輯回答
護(hù)她命

實(shí)例化的 new 一下

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

var demo1 = new dragbox(config1, null);
var demo2 = new dragbox(config2, null);
2017年10月9日 22:03