function parentClass() { // private field var x = "I'm a parentClass field!"; // private method function method1() { alert(x); alert("I'm a parentClass method!"); } // public field this.x = "I'm a parentClass object field!"; // public method this.method1 = function() { alert(x); alert(this.x); method1(); } } parentClass.prototype.method = function () { alert("I'm a parentClass prototype method!"); }
parentClass.staticMethod = function () { alert("I'm a parentClass static method!"); }
function subClass() { // inherit parentClass.call(this);
// private field var x = "I'm a subClass field!"; // private method function method2() { alert(x); alert("I'm a subClass method!"); } // public field this.x = "I'm a subClass object field!"; // public method this.method2 = function() { alert(x); alert(this.x); method2(); } this.method3 = function() { method1(); } }