js高级里面原型链对于新手来说并不友好,总的来说就是

任何函数都有自己的原型对象(prototype),任何实例对象都__proto__指向构造函数的原型

先来个最简单的原型三角关系 var fn = new Fn(); 实例对象不能直接访问构造函数而是通过访问构造函数的原型间接访问构造函数

一张图搞懂javascript原型链-LMLPHP

现在直接深入复杂的原型链图

1.Fn为构造函数 var fn = new Fn()

2.Fn为实例对象 var Fn = new Function()

3.var obj = new Object()

4 Object从哪来? 当然是Function创建出的

5 Function 哪来的? 自己创建自己 又当爹又当妈

总的来说,js高级的原型链就这些,

一张图搞懂javascript原型链-LMLPHP

04-16 13:24