当谈及承继时,JavaScript 多于一类内部结构:第一类。每一示例第一类(object)都有两个专有特性(称作 __proto__ )对准它的缺省的蓝本第一类(prototype)。该蓝本第一类也有两个他们的蓝本第一类(__proto__),一层层向下直至两个第一类的蓝本第一类为 null。依照表述,null 没蓝本,并做为那个蓝本链中的最终两个各个环节。
一、蓝本
①大部份提及类别都有两个__proto__(显式蓝本)特性,特性值是两个一般的第一类
②大部份表达式都有两个prototype(蓝本)特性,特性值是两个一般的第一类
③大部份提及类别的__proto__特性对准它缺省的prototype
var a = [1,2,3];
a.__proto__ === Array.prototype; // true
二、蓝本链
当出访两个第一类的某一特性时,会先在那个第一类这类特性上搜寻,假如没找出,则会去它的__proto__显式蓝本上搜寻,即它的缺省的prototype,假如还没找出就会再在缺省的prototype的__proto__中搜寻,这种几层几层向下搜寻就会逐步形成两个拉艾内部结构,他们称作蓝本链。
总括,有下列标识符
function Parent(month){ this.month = month; } var child = new Parent(Ann); console.log(child.month);// Ann console.log(child.father); // undefined在child中搜寻某一特性时,会继续执行上面关键步骤:
出访链路为:
①一直往上层搜寻,直至到null还没找出,则返回undefined
②Object.prototype.__proto__ === null
③大部份从蓝本或更高级蓝本中的得到、继续执行的方法,其中的this在继续执行时,对准当前那个触发事件继续执行的第一类
版权声明:本文为CSDN博主「TowYingWang」的原创文章,遵循CC 4.0 BY-SA版权协议,转发请附上原文出处链接及本声明。
原文链接:
https://blog.csdn.net/xiaoermingn/article/details/80745117