1 if (typeof Object.beget !== 'function') {
2 Object.beget = function(o) {
3 var F = function() {};
4 F.prototype = o;
5 return new F();
6 };
7 }
8
9 var myMammal = {
10 name: 'Herb the Mammal',
11 get_name: function() {
12 return this.name;
13 },
14 says: function() {
15 return this.saying || '';
16 }
17 };
18
19 var myCat = Object.beget(myMammal);
20 myCat.name = 'Henrietta';
21 myCat.saying = 'meow';
22 myCat.purr = function(n) {
23 var i, s = '';
24 for (i = 0; i < n; i += 1) {
25 if (s) {
26 s += '-';
27 }
28 s += 'r';
29 }
30 return s;
31 };
32 myCat.get_name = function() {
33 return this.says + ' ' + this.name + ' ' + this.says;
34 };