关于这段时间js面向对象程序设计的总结!

1:对象的创建

面向对象为了能够批量创建差不多的对象。

因此我是使用函数来创建对象。这个函数有一个名字叫做构造函数。函数名的首字母必须大写!

函数的人(名字){

    this.name = name;

}

然后var person = new Person('name');

这样就可以创建一个对象..书上吧这个叫做实例(实例就是一个对象)

实例中有个一个--proto ----的属性!指向构造函数和原型!

因为我们要创建的对象不可能全部一样也不可能全部都不一样因此在JS中是使用将一样的属性和方法都放在一个原型的对象中.prototype这个东西叫做原型。

原型这个对象中有一个属性叫做构造这个东西又将原型指向了构造函数!


这样就形成了一个循环。将所有的东西都串联了起来。



2:创建对象的继承

继承就是有两个构造函数。我要将其中一个构造函数的属性或者方法放到另一个或者另外多个构造函数中!(继承别个构造函数的方法和属性)


继承需要好多步方可完美的!

首先,原型链继承

只需要将子类构造函数的原型指向父类构造函数的实例就可以了。

例如:

child.prototype = new Parent();

这个不能传参

因此再增加一种关联父类的方法

函数的孩子(){

    Parent.call(本)

}

这样我们的子类函数就可以共享父类的属性和方法而且可以传参了。

但是这样有一个属性复用的问题

因此下面就是完美的方案了。

函数父(名称){

    this.name = name;

}

Parent.prototype.sayHello = function(){

    的执行console.log( '你好!');

}

函数儿童(姓名,年级){

    Parent.call(本); //这样就可以共享父类的属性而且可以传参

    //接下来就是共享父类的原型上的东西了。

    this.name = name;

    this.grade = grade;

}

inherPrototype(儿童,人);继承方法的函数;

Child.prototype.shoot = function(){

    console.log('biu biu biu');

}

函数inherPrototype(副类别,超){

   //的的Object.create这个东西做了什么事情呢?

岛创建了一个{}

II原型 - “参数

三返回了{}。

    var protoType = Object.create(superType.prototype);

    protoType.constructor = subType;

    subType.prototype = protoType;

( 

var Temp = function(){}

Temp.prototype = superType.prototype;

Temp.prototype.constructor = subType;

subType.prototype = Temp.prototype;

}

这样就完美了!




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值