2012-03-05 11 views
1

私はすでにこれを持ってjavascriptオブジェクトを拡張する

myVar = { 
     exec: function() 
      { 
       console.log('do stuff'); 
      } 
     } 

をそして、これがあります。

myVar = { 
       appName: 'Test', 
       exec: function() 
       { 
       console.log('do stuff'); 
       } 
      } 

が実は、私のことができるようにしたいですアクセスmyVar.appNameおよびmyVar.exec();

だから、私は次のことができます。

myVar.exec = function(){}; 

しかし、私はより多くの関数と変数を持っている場合。

私はこれをやって維持する必要があります:

myVar.func1 = function(){ // stuff 1 }; 
myVar.func2 = function(){ // stuff 2 }; 
myVar.func3 = function(){ // stuff 3 }; 

は、より良い方法はありますか?

+2

javascriptオブジェクトは基本的にちょうどあなたが望む任意のキーと値のペアを追加できるマップです。 – Dunes

答えて

0

あなたがしていますObject.assign()をお探しですか?

var myVar = { appName: 'Test' }; 
Object.assign(myVar, { 
    exec: function(){ 
     console.log('do stuff'); 
    } 
    exec2: function(){ 
     console.log('do other stuff'); 
    } 
}); 

あなたは、その後myVar.appNamemyVar.exec、およびmyVar.exec2にアクセスすることができます。

+0

はい!それは素晴らしいことです!ありがとうございました! – morishi

+0

私の解決が助けになりました!それを答えとしてマークすることを検討しますか? –

+0

あなたがそれを言及するまで、私は気付きませんでした。今やりました。ありがとうございました! – morishi

2
myVar.exec = whatever; 

2

この試してみてください:あなたがする必要があるのは、 "VAR" に等しいオブジェクトを設定されている

myVar.exec = function(){ 
    console.log('do stuff'); 
} 
2
var myVar = { appName: 'Test' }; 
myVar.exec = function() { 
    console.log('do stuff'); 
} 
0

を:

var myVar = { 
    appName: 'Test', 
    exec: function() { 
     console.log('do stuff'); 
    } 
} 
関連する問題