她们在前明说到,大部份的第一类都是透过new 表达式来建立的,大部份的表达式也都是第一类 . 所以难题来了,Function也是两个表达式,所以他是是不是来的呢?(那个难题呢类似于类似于于先有鸡和先有蛋的觉得)但Function表达式是在js发动机开启的这时候,就间接把Function放进到缓存中的.
蓝本 prototype
大部份表达式都有两个特性: prototype,称作蓝本 .
prototype在预设情况下是两个object第一类.
预设情况下, prototype两个特性: constructor, constructor这类也是两个第一类,她们间的亲密关系如下表所示:透过上图她们晓得,表达式的蓝本的构造表达式 和 表达式本身是十分相似的.
蓝本G540用呢?咋蓝本的构造表达式又要等表达式呢?哲人蓝本 __proto__
大部份的第一类都有两个特性: __proto__, 那个特性称作哲人蓝本.
哲人蓝本预设情况下对准建立该第一类的表达式的蓝本.
用一幅图来总结一下:
第一类访问特性的查找方式
第一类在查找特性的这时候,如果这类不存在的话,他会一层一层查找自己的哲人蓝本(proto),找到后返回.晓得找到null后返回undefined
既然人家可以在蓝本上加方法,咋们也可以在蓝本中加方法,但这样做会造成蓝本的污染.
蓝本链
蓝本链是啥子呢,她们先来解释链条,链条就是有有限个铁环相互连接在一起,形成一根有限长度的链条.原先链肯定就是有有限个__proto__连接起来的链条,她们称作蓝本链.
如上图她们看到的
newA.__proto__.__proto__.__proto__ 这种在每个第一类间都透过 __proto__ 呢类似于于链条呢.