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
.
Indeed, 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;
};
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.