JavaScript prototype(原型对象)

本文深入解析JavaScript中对象如何通过原型链实现属性和方法的继承。探讨了Date、Array及自定义对象如Person如何从其原型对象继承特性,并演示了如何利用prototype属性为对象构造函数添加新属性和方法。

所有的JavaScript对象都会从prototype(原型对象)中继承属性和方法。

prototype继承:所有的JavaScript对象都会从一个prototype(原型对象)中继承属性和方法:

    1、Date对象从Date.prototype继承。2、Array对象从Array.prototype继承。3、Person对象从Person.prototype继承。所有JavaScript中的对象都是位于原型链顶端的Object的实例。

JavaScript中对象有一个指向一个原型对象的链。当试图访问一个对象的属性时,它不仅仅在该对象上搜寻,还会搜寻该对象的原型,以及该对象的Date对象、Array对象、以及Person对象从Object.prototype继承。

添加属性和方法:

当我们需要对一个已经存在的对象添加新的属性或者是新的方法时。或者是我们想要在对象的构造函数中添加属性或方法,此时prototype属性就可以给对象的构造函数添加新的属性:

例:我们向一个已经存在的对象构造函数添加新的属性

function Person(first,last,age,eye){

    this.firstName = first;

    this.lastName = last;

    this.age = age;

     this.eyeColor = eye;

}

Person.prototype.nationality = "China";

var myFather = new Person("John","Doe",20,"blue");

document.getElementById("demo").innerHTML = "我的国籍是" + myFather.nationality;

打印结果:我的国籍是China

我们也可以使用prototype属性就可以给对象的构造函数添加新的方法:如图

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值