I\'ve been instantiating subclasses in javascript using
object = new class ()
but I notice some people instantiate using
ob
Sharing a quick demo of Javascript inheritance after reading the mozilla doc
function Employee (name, dept) {
this.name = name || "";
this.dept = dept || "";
}
function Programmer (name, projs) {
Employee.call(this, name, "programming");
this.projects = projs || [];
}
Programmer.prototype = new Employee;
// demo dynamic inheritance
Employee.prototype.leave = 10;
var johnny = new Programmer("Johnny", ["C#","Java"]);
alert("name: " + johnny.name + "\n"
+ "dept: " + johnny.dept + "\n"
+ "projects: " + johnny.projects + "\n"
+ "leave: " + johnny.leave);
var mary = new Programmer("Mary", ["Javascript","Java"]);
alert("name: " + mary.name + "\n"
+ "dept: " + mary.dept + "\n"
+ "projects: " + mary.projects + "\n"
+ "leave: " + mary.leave);
alert("changing leave of all staff to 8");
Employee.prototype.leave = 8;
alert("Johnny leave: " + johnny.leave); // 8
alert("Mary leave: " + mary.leave); // 8
alert("cannot batch move staff to another department");
Employee.prototype.dept = "sales";
alert("Johnny dept: " + johnny.dept); // programming
alert("Mary dept: " + mary.dept); // programming
Demo in jsfiddle Demo with more debug in jsfiddle