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())即可