接着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,842评论 2 17
  • 一、JavaScript基础知识回顾 1.1 JavaScript 1.1.1 javascript是什么? Ja...
    福尔摩鸡阅读 1,339评论 0 7
  • 单例模式 适用场景:可能会在场景中使用到对象,但只有一个实例,加载时并不主动创建,需要时才创建 最常见的单例模式,...
    Obeing阅读 2,103评论 1 10
  • 一、面向过程和面向对象的区别、联系 1.面向过程编程:注重解决问题的步骤,分析问题需要的每一步,实现函数依次调用。...
    空谷悠阅读 907评论 1 11