January 2017
Beginner to intermediate
550 pages
10h 6m
English
Lets solve the following exercise:
var my = objectMulti(obj, another_obj, a_third, {
additional: "properties"
});
A possible solution:
function objectMulti() {
var Constr, i, prop, mixme;
// constructor that sets own properties
var Constr = function (props) {
for (var prop in props) {
this[prop] = props[prop];
}
};
// mix into the prototype
for (var i = 0; i < arguments.length - 1; i++) {
var mixme = arguments[i];
for (var prop in mixme) {
Constr.prototype[prop] = mixme[prop];
}
}
return new Constr(arguments[arguments.length - 1]);
}
Testing:
> var obj_a = {a: 1}; > var obj_b = {a: 2, b: 2}; > var obj_c = {c: 3}; > var my = objectMulti(obj_a, obj_b, ...Read now
Unlock full access