话不多说,先看下面这张图:
简单解释一下:
通过构造函数创建出来的ff对象的__proto__指向构造函数的prototype
构造函数的prototype里面的__proto__又指向Object的prototype对象
Object的prototype里面的__proto__指向null
这就是所谓的原型链,这也就是为什么ff对象能使用toString等方法,因为顺着原型链,它能读取到Object的prototype里面的东西
下面这张图是我在网上找的,我觉得完美的阐释了这一切的关系,顺着缕一缕你就能了解其中的原理。