开发者

Javascript Plugin Development , Extending Libraries

i got two javascript objects api and myApi :

var api = {};
api.foo = function(){ ... };
api.foo2 = function(){ ... };

var myApi = {};
myApi.foo = function(){ ...};
myApi.myFoo = function(){ ...};
myApi.myFoo2 = function(){ ...};

i want to add all myApi.* functions to api object without overriding api.foo.

In开发者_如何学Cdeed, i want learn how to extend APIs to each other and developing plugins with javascript.

What are the best practices in this subject?


To answer the first part of your question, you can modify the merge method I use in some of my code:

if (typeof Object.merge !== 'function') {
    Object.merge = function (o1, o2) { // Function to merge all of the properties from one object into another
        for(var i in o2) { o1[i] = o2[i]; }
        return o1;
    };
} 

To not overwrite preexisting objects, you would have to add a check:

if (typeof Object.merge !== 'function') {
    Object.merge = function (o1, o2) { // Function to merge all of the properties from one object into another
        for(var i in o2) { if(!(i in o1)) o1[i] = o2[i]; }
        return o1;
    };
} 
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜