//聲明父類 function ParentClass(name){ //值類型公有屬性 this.name = name //引用類型公有屬性 this.books = ['Html'] } //父類型原型公有方法 ParentClass.prototype.getName = function(){ console.log(this.name); } //聲明子類 function ChildClass(name,id){ //構造函數式繼承父類name屬性 ParentClass.call(this,name); //子類中新增公有屬性 this.id = id; } // 類式繼承 子類原型繼承父類 ChildClass.prototype = new ParentClass(); // 子類原型方法 ChildClass.prototype.getId = function(){ console.log(this.id); } var child1 = new ChildClass('Css',1) child1.books.push('圖解Css'); console.log(child1.books) // ['Html','圖解Css'] child1.getName() // Css child1.getId() // 1 var child2 = new ChildClass('Javascript',2) console.log(child2.books) // ['Html'] child2.getName() // Javascript chil2.getId() // 2
設計模式中的經典筆錄設計模式