转载(js原型分析研究)

转载来自:[quote]http://www.iteye.com/topic/1125440[/quote]

js原型分析研究

作者对原型的分析相当明了,转下做个记录,欢迎去看作者的原文!![quote]http://www.iteye.com/topic/1125440[/quote]


简单来说,一个原型类似其他语言中的一个类,它定义的属性且可以被此类产生的所有对象所共享。然后它又不像一个类,原型可以在运行时获得和改变。可以增加属性到原型上或者删除原型上已经存在的属性。所有的变化将立即影响由原型派生的对象。它是如何工作的呢? js是一种动态的语言,它不是在编译期间去搜索属性值,而是在执行请求期间去搜索属性值。例如,考虑一个基本的继承案例,A的原型继承自B的原型,a对象是由A的原型派生出的对象.如果对象a上的一个属性被请求,则js表现出如下搜索过程:

js首先检查a对象上是否存在此属性,如果没有搜索到,则进行第2部分搜索过程。

js访问A的原型检查是否有此属性,如果仍然没搜到,则进行第3部分搜索过程。

3. js最后访问B的原型检查是否有此属性.如果没有搜到将访问每个对象上的原型直到达到根原型上。这样的一个搜索过程称原型链。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值