0

JavaScriptで継承しようとしています

var operation = 
{
   A: 1,
   B: 2,
   C: 3
};

var operationImplA = 
{
   D: 4
};

var operationImplB = 
{
   D: function (event) {
         //do something
      }
};

上記に似ていますが、JavaScriptでこれを行う方法がわかりません。

4

2 に答える 2

2

あなたは単に使用することができますObject.create

var operation = 
{
   A: 1,
   B: 2,
   C: 3
};

var operationImplA = Object.create(operation, {
    D: {
       value: 4
    }
});

var operationImplB = Object.create(operationImplA, {
    D: {
        value: 5
    }
});

Object.create最初の引数と2番目の引数で定義されたプロパティのプロトタイプを使用して新しいオブジェクトを作成します。

これは、JavaScriptでの自然なプロトタイプベースの継承です。

編集

メソッドを追加する場合は、プロパティのように追加します。

var operationImplA = Object.create(operation, {
    M: {
        value: function (a) {
            console.log(a);
        }
    }
});
operationImplA.M('Some text...'); //'Some text...'
于 2013-02-13T15:50:36.150 に答える
-1

個人的には、John Resigs SimpleJavaScriptInheritanceが本当に好きです。私はすべてのJSプロジェクトに使用しています。試してみてください。

于 2013-02-13T15:51:08.917 に答える