原型与原型链的理解

对原型、原型链的理解

1、在JavaScript中是使用构造函数来新建一个对象,每一个构造函数的内部都有一个prototype属性,它的属性值是一个对象,这个对象包含了可以由构造函数的所有实例的共享的属性和方法。当使用构造函数构建一个新的对象时,这个对象内部含有一个指针,这个指针指向构造函数内部prototype属性对应的值,在ES5中,这个指针被称为原型。一般来说不应该获取到这个值的,但是在浏览器中使用_proto_属性来访问这个属性,但是最好不要使用这个属性,因为它不是规范中规定的。ES5中新增了一个Object.getPrototype()方法,可以通过这个方法来获取对象的原型。
2、当访问一个对象的属性时,如果这个对象没有这个属性,那么就会去它的原型中寻找,而原型对象也有它自己的原型,于是就这样一直寻找下去,也就是原型链的概念。原型链的尽头一般来说是Object.prototype,所以这就是为什么新建的对象可以访问toString()等方法的原因。
3、特点:JavaScript中是通过引用来传递的,创建的新对象实体并没有一份属于自己的原型副本,当修改原型时,与之相关的对象也会继承这一改变。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值