JavaScript prototype 与 _proto_(原型链解析)
prototype 概念
prototype允许你为对象添加属性与方法,对象的实例可以访问此属性或方法
在了解_proto_之前,我们先来看看 JavaScript new的时候做了什么
var p = new Person()
p._proto_ = Person.prototype
Person.call(p) 构造P 也可以说初始化P
_proto_ 概念
_proto_在对象实例化时自动初始化,当我们访问一个对象的属性或者方法时
如果对象内部不存在这个属性或者方法,那么它就会去_proto_里找这个属性,若这个_proto_里面没有
那么它会到_proto_._proto_里面去找,最终找到了那么就调用这个字段,没找到就undefind
这个就是原型链的概念
网友评论