好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Javascript:必须知道的Javascript知识点之“原型链”

Javascript:必须知道的Javascript知识点之“原型链”

Javascript:必须知道的Javascript知识点之“原型链”

代码示例

 1   var  CustomClass =  function  () { };
  2   var  CustomObject =  new  CustomClass();

发生了什么事情

原型链规则

规则1

每个对象都有一个“__proto__”属性,这个属性对外不可见,只有javascript解释器知道,在google浏览器中可以看到这个属性。

规则2

“取值操作”CustomObject.XXXProperty的规则是,先查找CustomObject对象本身有没有XXXProperty,没有的话就去CustomObject.__proto__中找,还没找到就去CustomObject.__proto__.__proto__中去找,以此类推直到找到Object.__proto__。

规则3

“赋值操作”CustomObject.XXXProperty= xxxValue的规则是,直接将值xxxValue赋给CustomObject.XXXProperty。也就是说,“赋值操作”和原型链没有任何关系。

规则4

CustomObject.__proto__指向的对象和其实例化时CustomClass.prototype指向的对象是一个对象,但是CustomClass.prototype可以随时修改其指向的对象。

备注 只要精通“原型链”和“一切结皆是对象",理解“继承”和“掺入”就不是问题了,自己实现这些特性应该也不难。我用了四年才明白上边这些规则。

作者: Leo_wl

    

出处: http://HdhCmsTestcnblogs测试数据/Leo_wl/

    

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

版权信息

查看更多关于Javascript:必须知道的Javascript知识点之“原型链”的详细内容...

  阅读:45次