原型:
在Js中每个对象都有父级对象,而父级对象就被称为原型。
原型链:
原型又有其原型,原型本身就是一个对象,而所有对象都有父级对象,所以就成了原型的原型,周而复始,于是就有了原型链。而所有原型的原型,也就是原型的根原型,就是Object。
那么问题来了,Object有自己的原型吗?
答案是有又没有。因为在Js语法层面来说,Object就是没有原型的。但使用
1.__proto__
2.prototype
3.constructor
三种方式获取Object的原型,打印的就是null。
**
在低层对象去调用某一属性时,若这对象没有此属性,那么它就会不停的在它的原型(也就是父级对象)中寻找此属性,若它的原型也找不到,就会找它原型的原型,这就形成了原型链。