首先明確:函數
一、任何對象都有屬性[[Prototype]];this
二、只有函數有屬性prototype。spa
Pet爲父類,子類Dog繼承Pet。示意圖以下:prototype
繼承的樣例代碼:code
// 父類構造函數 function Pet(name,sound){ var name = name; this.sound = "Pet says " + sound; this.getName = function(){ console.log(name); }; } // 父類原型 Pet.prototype.voice = function(){ console.log(this.sound); } // 子類 function Dog(sound){ this.sound = "Dog syas " + sound; } // 繼承 Dog.prototype = new Pet("pet","ohooo"); Dog.prototype.constructor = Dog; // 繼承驗證 var dog = new Dog("wangwang"); dog.voice();//Dog syas wangwang dog.getName();//pet
Firefox中的顯示以下: