数码资讯
两种JS原型继承方法的比较与介绍
在实际的项目中,我们通常使用构造函数来创建一个对象,然后将一些常用的方法添加到它们的原型对象中。最后,要么直接实例化对象,要么使用它作为父对象,然后声明一个对象并继承父对象。 有两种常见的继承方法,今天我们将做一个小讨论。 复制代码代码如下所示: 父类 功能人(名称){ this.name =名称;
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
在实际的项目中,我们通常使用构造函数来创建一个对象,然后将一些常用的方法添加到它们的原型对象中。最后,要么直接实例化对象,要么使用它作为父对象,然后声明一个对象并继承父对象。
有两种常见的继承方法,今天我们将做一个小讨论。
复制代码代码如下所示:
父类
功能人(名称){
this.name =名称;
};
子类
函数学生(性别){
person.apply(这个参数); / /继承父类的构造函数
这是性=性;
};
1,继承原型:
复制代码代码如下所示:
student.prototype = person.prototype; / /在这句话的执行,student.prototype.constructor指人,为什么因为person.prototype.constructor点人,对象的分配本质上是一个参考的任务,所以Student.prototype.constructor也指出,人
student.prototype.constructor =学生; / / student.prototype.constructor人回来
人的原型对象被学生的原型对象所覆盖。在这之前,该对象的分配本质上是一个参考的任务,所以Student.prototype的任何修改都将反映在person.prototype,即子类对父类。
看下面:
复制代码代码如下所示:
学生。原型;
person.prototype.add(添加); / /流行
2,继承的例子:
复制代码代码如下所示:
student.prototype =新的(人); / /如果参数不合格,不能写()是新的人直接写;
2 student.prototype.constructor =学生;
原型对象使用的人支付学生的例子;实例被创建,而不是在显示前是浪费内存,但它也是一种方法来解决上述的缺点,即在student.prototype任何修改不会反映到person.prototype,不会影响到父类的子类。
3,使用控制对象结合1和2的优点,消除缺点。
复制代码代码如下所示:
Var(f =函数){ };
f.prototype = person.prototype;
student.prototype =新的f();
student.prototype.constructor =学生;
f是一个只有一些原型的空对象,实例化时内存较少,除了子类对父类的影响。
有两种常见的继承方法,今天我们将做一个小讨论。
复制代码代码如下所示:
父类
功能人(名称){
this.name =名称;
};
子类
函数学生(性别){
person.apply(这个参数); / /继承父类的构造函数
这是性=性;
};
1,继承原型:
复制代码代码如下所示:
student.prototype = person.prototype; / /在这句话的执行,student.prototype.constructor指人,为什么因为person.prototype.constructor点人,对象的分配本质上是一个参考的任务,所以Student.prototype.constructor也指出,人
student.prototype.constructor =学生; / / student.prototype.constructor人回来
人的原型对象被学生的原型对象所覆盖。在这之前,该对象的分配本质上是一个参考的任务,所以Student.prototype的任何修改都将反映在person.prototype,即子类对父类。
看下面:
复制代码代码如下所示:
学生。原型;
person.prototype.add(添加); / /流行
2,继承的例子:
复制代码代码如下所示:
student.prototype =新的(人); / /如果参数不合格,不能写()是新的人直接写;
2 student.prototype.constructor =学生;
原型对象使用的人支付学生的例子;实例被创建,而不是在显示前是浪费内存,但它也是一种方法来解决上述的缺点,即在student.prototype任何修改不会反映到person.prototype,不会影响到父类的子类。
3,使用控制对象结合1和2的优点,消除缺点。
复制代码代码如下所示:
Var(f =函数){ };
f.prototype = person.prototype;
student.prototype =新的f();
student.prototype.constructor =学生;
f是一个只有一些原型的空对象,实例化时内存较少,除了子类对父类的影响。
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。