2016-04-15 2 views
0
base = { 
    init : function() { 
     console.log('initiate') 
    } 
} 

function Plugin(){ 
    this.init = function() { 
     console.log('init me'); 
    } 
} 

Plugin.prototype = base; 

x = new Plugin(); 

x.init(); 

私は両方ともログをコンソールにしたい、私は基本変数のように関数のデフォルトセットを設定し、関数プラグインでそれらに追加することができます。これが最善の解決策である場合JSは、プロトタイプで置き換えるのではなく、機能に追加します

https://jsfiddle.net/eqzwbdww/

+0

あなたは 'x.initは()'の両方自身と継承されたメソッドを呼び出すしたいですか? – Oriol

+0

はい、それは正しいです – Sean

答えて

0

わからないが、それは解決:これは最良のものであるかどうかわからないことも、

base = { 
    init : function() { 
     console.log('initiate') 
    } 
} 

function Plugin(){ 
    this.init = function() { 
     Plugin.prototype.init.call(this); 
     console.log('init me'); 
    } 
} 

Plugin.prototype = base; 

x = new Plugin(); 

x.init(); 
0

他のソリューションを。

base = { 
 
    init : function() { 
 

 
     document.write(' initiate ') 
 
    } 
 
} 
 

 
function Plugin(){ 
 
    this.init = function() { 
 
    \t this.__proto__.init(); 
 
     document.write(' init me '); 
 
    } 
 
} 
 
Plugin.prototype = base; 
 

 
x = new Plugin(); 
 

 
x.init();

関連する問題