接著js面向對象

js中的繼承
function CreateAnimal(name,age){
this.name = name;
this.age = age;
CreateAnimal.prototype.hobby = '唱歌';
this.sayHi = function(){
alert('heelo')
}
}
function CreateDog(name,age,gender){
//name,age都繼承自父類
CreateAnimal.apply(this,[name,age]);
this.gender = gender;
this.eatFood = function(){
alert('jjjj')
}

}
var dog = new CreateDog('zhang',34,'nam')
console.log(dog1.name);
console.log(dog1.age);
console.log(dog1.proto.hobby);//空,不會繼承原型里的東西
要想繼承原型里存放的東西,可以用原型鏈實現繼承

        console.log(CreateDog.prototype);//指向的就是CreateDog

原型鏈實現繼承:
原理是差不多的,就是改變子類原型的指針指向,
var animal = new CreateAnimal('阿黃', 8);
// 讓父類的對象充當子類的原型
CreateDog.prototype = animal;
CreateDog.prototype.constructor = CreateDog;
利用原型鏈簡化代碼
比如求和:
var arr = [1,2,3,4,5]
Object.prototype.sum = function(){
var sum = 0;
for(var i = 0;i<this.length;i++){
sum = sum+parseInt(this[i]);
}
return sum;
}
console.log(arr.sum())即可得出結果
此時就很方便,不管你要求誰的和,只要調用這個就行
var see = ‘233434435’
console.log(see.sum())即可

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • title: js面向對象date: 2017年8月17日 18:58:05updated: 2017年8月27日...
    lu900618閱讀 581評論 0 2
  • 工廠模式類似于現實生活中的工廠可以產生大量相似的商品,去做同樣的事情,實現同樣的效果;這時候需要使用工廠模式。簡單...
    舟漁行舟閱讀 7,827評論 2 17
  • 一、JavaScript基礎知識回顧 1.1 JavaScript 1.1.1 javascript是什么? Ja...
    福爾摩雞閱讀 1,332評論 0 7
  • 單例模式 適用場景:可能會在場景中使用到對象,但只有一個實例,加載時并不主動創建,需要時才創建 最常見的單例模式,...
    Obeing閱讀 2,093評論 1 10
  • 一、面向過程和面向對象的區別、聯系 1.面向過程編程:注重解決問題的步驟,分析問題需要的每一步,實現函數依次調用。...
    空谷悠閱讀 906評論 1 11