(部分)扩展"功能"在JavaScript中?

时间:2014-06-27 09:31:32

标签: javascript

我有这段代码......

var my = {    
    helpers: {        
        getName: function() {
            return 'John Doe';
        }       
    }    
}

// in another file...

var my = {    
    helpers: {        
        getAge: function() {
            return '40';
        }       
    }    
}

// Test...

$("#myDiv").html(my.helpers.getName + " " + my.helpers.getAge);

http://jsfiddle.net/MojoDK/8cmV7/

...但getName未定义。

我希望javascript足够聪明,可以将它合并到这个......

var my = {    
    helpers: {        
        getName: function() {
            return 'John Doe';
        },
         getAge: function() {
            return '40';
        }
    }    
}

如何像上面那样扩展方法(或其所谓的方法)?我有几个“帮助”文件,需要“合并”。

2 个答案:

答案 0 :(得分:3)

冗余对此有好处:

my = window.my || {};
my.helpers = my.helpers || {};
my.helpers.getAge = function() {
    return 40;
};

Demo of it in action

答案 1 :(得分:0)

您也可以使用http://api.jquery.com/jquery.extend

如:

var my = {
    getName: function() {}
};
$.extend(my, {
    getAge: function() {
    }
});

演示:http://jsfiddle.net/7KW3H/