Javascript原型对象

本文深入讲解了JavaScript中对象如何通过原型链继承属性。当访问一个对象的属性时,如果该对象自身没有定义,则会沿着原型链向上查找,直至找到属性或者到达Object.prototype。文中还演示了如何覆盖原型上的属性以及如何清除这种覆盖。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  每个JS对象连接到一个原型对象,并从中继承属性。原型连接只有在检索值的时候才会被用到,如果我们尝试去获取对象的某个属性,而该对象并没有此属性名,那么JS会尝试从原型对象中获取。如果该原型对象也不存在该属性,那么将再到该原型对象的原型对象中去检索,以此类推,直到Object.prototype。

function Test() {
// fn
}

Test.prototype
= {
foo:
'bar'
};

var instance = new Test();
instance.foo
=== 'bar';   //从原型对象中获取foo的值

 

 

如果我们更新该对象的foo属性,原型对象的foo将保持不变:

instance.foo = 'change';
instance.foo
=== 'change'; //该对象存在foo属性,所以不再到原型对象中检索
delete instance.foo;          //删除该对象的foo属性

instance.foo
=== 'bar';

 

转载于:https://www.cnblogs.com/tracy_cool/archive/2010/11/01/1866627.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值