JS 原型与原型链的核心机制是什么?
每一个函数创建时,都会带一个 prototype 属性。该属性指向一个原型对象,这个原型对象,给所有通过该函数作为构造函数的实例,提供共享的属性和方法。
proto 是每个对象实例都拥有的内部属性。当通过 new 关键字创建一个实例时,这个实例的 proto 属性会被自动设置为构造函数的 protype。
constructur 存在于原型对象上,它默认指回拥有该 prototype 的构造函数本身。
当我们试图访问一个对象的属性时,js 会先从对象自身上查找,如果找不到,则通过 proto 找到原型对象,如果原型对象上还是没有,则继续通过 proto 向上找,直到 object