`

转载(js原型分析研究)

阅读更多
转载来自:
引用
http://www.iteye.com/topic/1125440


js原型分析研究

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



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

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

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

  3. js最后访问B的原型检查是否有此属性.如果没有搜到将访问每个对象上的原型直到达到根原型上。这样的一个搜索过程称原型链。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics