亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

關于js不同寫法重用的問題,求助?。。。?!

關于js不同寫法重用的問題,求助?。。。。?/h1>
ITMISS 2018-08-06 09:08:32
<div class="box"></div><div class="box2"></div>寫法1:寫法2:   function AverageClass(){         }    AverageClass.prototype = {       constructor : AverageClass,               init : function(){},               something : function(){                }        };        var ager =  new AverageClass(); var ager2 =  new AverageClass();     ager.init($('.box'));  ager2.init($('.box2'));如上兩種寫法,在操作多個元素的時候,第二種不會有沖突,因為每次都是不同的實例,但是第一種就會沖突,請問有什么好的方法解救第一種寫法嗎?(也就是讓第一種寫法里面的模塊調用每次也變成不同的實例),大家好,我是樓主,第一種寫法我修改了一下,請問創造者模式還是湊效嗎?
查看完整描述

1 回答

?
有只小跳蛙

TA貢獻1824條經驗 獲得超8個贊

第一種方式可以改用建造者模式
第二種方法是普通的創建類的實例

var module = {    buildModule: function(el) {        
        var configMap = {};        var stateMap  = {};        
        var clearLocalStorage = function() {
        };        
        var saveLocalStorage = function() {
        };        
        var loadLocalStorage = function() {
        };    
        var initModule = function() {            module.el = el; // 實例屬性的例子,不會和其它實例沖突
        };        
        var module = {            // 想導出的方法
            clearLocalStorage: clearLocalStorage,            saveLocalStorage: saveLocalStorage,            loadLocalStorage: loadLocalStorage,
        };
        
        initModule(); // 如果不需要在別處調用,也可不要 initModule 函數,把代碼直接放在這里
        
        return module;
    }
};var module1 = module.buildModule($('.box'));var module2 = module.buildModule($('.box2'));


查看完整回答
反對 回復 2018-09-19
  • 1 回答
  • 0 關注
  • 620 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號