January 2017
Beginner to intermediate
550 pages
10h 6m
English
Based on the idea that objects inherit from objects, Douglas Crockford advocates the use of an object() function that accepts an object and returns a new one that has the parent as a prototype:
function object(o) {
function F() {}
F.prototype = o;
return new F();
}
If you need access to an uber property, you can modify the object() function as follows:
function object(o) {
var n;
function F() {}
F.prototype = o;
n = new F();
n.uber = o;
return n;
}
Using this function is the same as using extendCopy(), you take an object such as twoDee, create a new object from it, and then proceed to augmenting the new object:
var triangle = object(twoDee); triangle.name = 'Triangle'; triangle.getArea = function () { return this.side * this.height ...Read now
Unlock full access