重温js——原型和原型链

2022-12-15 0 1,073

她们在前明说到,大部份的第一类都是透过new 表达式来建立的,大部份的表达式也都是第一类 . 所以难题来了,Function也是两个表达式,所以他是是不是来的呢?(那个难题呢类似于类似于于先有鸡和先有蛋的觉得)但Function表达式是在js发动机开启的这时候,就间接把Function放进到缓存中的.

蓝本 prototype

大部份表达式都有两个特性: prototype,称作蓝本 .

重温js——原型和原型链

prototype在预设情况下是两个object第一类.

预设情况下, prototype两个特性: constructor, constructor这类也是两个第一类,她们间的亲密关系如下表所示:
重温js——原型和原型链

透过上图她们晓得,表达式的蓝本的构造表达式 和 表达式本身是十分相似的.

蓝本G540用呢?咋蓝本的构造表达式又要等表达式呢?

哲人蓝本 __proto__

大部份的第一类都有两个特性: __proto__, 那个特性称作哲人蓝本.

哲人蓝本预设情况下对准建立该第一类的表达式的蓝本.

重温js——原型和原型链

用一幅图来总结一下:

重温js——原型和原型链

第一类访问特性的查找方式

第一类在查找特性的这时候,如果这类不存在的话,他会一层一层查找自己的哲人蓝本(proto),找到后返回.晓得找到null后返回undefined

重温js——原型和原型链

既然人家可以在蓝本上加方法,咋们也可以在蓝本中加方法,但这样做会造成蓝本的污染.

蓝本链

蓝本链是啥子呢,她们先来解释链条,链条就是有有限个铁环相互连接在一起,形成一根有限长度的链条.原先链肯定就是有有限个__proto__连接起来的链条,她们称作蓝本链.

重温js——原型和原型链

如上图她们看到的

newA.__proto__.__proto__.__proto__ 这种在每个第一类间都透过 __proto__ 呢类似于于链条呢.

原型链路

重温js——原型和原型链
Function的__proto__ 和Function的prototype是对准同两个地址的
重温js——原型和原型链
哲人蓝本的最终对准是null;Object的__proto__和 Function的蓝本执行同两个地址.
重温js——原型和原型链

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务