1 原型是一个普通对象
它是为构造函数的实例共享属性和方法,所有的实例中引用的原型都是同一个对象
每调用一次都会有内存中生成一个“唱歌”,会占用很多内存
2 原型链 prototype
绑定以后 所有实例是共用一个的
_proto_
可以理解为指针,实例对象的属性,指向构造原型( prototype )
,如果某个对象查找属性,自己和原型对象上都没有,那就会继续往原型对象的原型对象上去找,这个例子里就是Object.prototype,这里就是查找的终点站了,在这里找不到,就没有更上一层了(null里面啥也没有),直接返回undefined。
可以看出,整个查找过程都是顺着__proto__属性,一步一步往上查找,形成了