JS原型链简介



  • JavaScript原型链机制

    JavaScript中除了基本类型外的数据类型,都是对象。由于没有类(class)的概念(因为JavaScript只是一种简易的脚本语言),为了将所有的对象联系起来,就有了原型和原型链的概念

    每个实例对象(object )都有一个私有属性(称之为 proto)指向它的原型对象(prototype)。该原型对象也有一个自己的原型对象 ,层层向上直到一个对象的原型对象为 null。根据定义,null 没有原型,并作为这个原型链中的最后一个环节。

    例如:

    Object有一个原型对象prototype

    Array也有一个原型对象prototype

    当我们新定义了一个Array的空对象时,我们可以直接访问一些属性

    而JavaScript首先会检查我们要访问的属性是否直接存在于该对象上,如果不在,则会在Array.prototype中查找

    若仍然不在,那么因为Array本身也是Object,则Array.prototype.__proto __= Object.prototype,就会接着想上查找

    以上原型与原型层层相链接的过程即为原型链


 

Copyright © 2018 bbs.dian.org.cn All rights reserved.

Looks like your connection to Dian was lost, please wait while we try to reconnect.