扩展javascript对象

时间:2012-03-05 18:52:59

标签: javascript

我已经有了这个:

var myVar = { appName: 'Test' };

我想补充一点:

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

并且有这个:

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

实际上,我希望能够访问myVar.appNamemyVar.exec();

所以,我可以:

myVar.exec = function(){};

但如果我有更多的功能和变量。

我是否必须继续这样做:

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

有更好的方法吗?

5 个答案:

答案 0 :(得分:2)

myVar.exec = whatever;

答案 1 :(得分:2)

试试这个:

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

答案 2 :(得分:2)

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

答案 3 :(得分:0)

您需要做的就是将对象设置为“var”:

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

答案 4 :(得分: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.execmyVar.exec2