ExtendedSample extending Sample
Clicking a
Clicking b
function Sample(msg) {
this.message = msg;
}
Sample.prototype = new Object;
Sample.prototype.message = msg;
Sample.prototype.itClicked = function() {
alert(this.message);
}
var a = new Sample('I heard a click!');
function ExtendedSample(msg, times) {
// Create a reference to Sample's constructor
this.parent = Sample;
// Call constructor in the context of ExtendedSample
this.parent(msg);
this.repeat = times;
}
// Use Sample's prototype to extend it
ExtendedSample.prototype = new Sample;
// Declare the object variables to reference in methods
ExtendedSample.prototype.message = undefined;
ExtendedSample.prototype.times = 1;
// Override the previous declaration of itClicked
ExtendedSample.prototype.itClicked = function() {
for (var i = 0; i < this.repeat; i++) {
alert(this.message);
}
}
var b = new ExtendedSample("I heard that click!", 3);