原型对象:在声明了一个函数之后,浏览器会自动按照一定的规则创建一个对象,这个对象就叫做原型对象。
每一个函数对象都有一个prototype属性,但是普通对象是没有的;
Object继承自己,Funtion继承自己,Object和Function互相是继承对方
函数A的原型链
function A(){};
var f1 = new A();
f1.proto ==>A.prototype ==> A.prototype.proto ==> Object.prototype ==> Object.prototype.proto ==> null
上面只是单独的普通对象f1的原型链
如果不是A的实例,而是直接打印函数A的话,是要有Function
A.proto ==>Function.prototype ==>Function.prototype.proto ==> Object.prototype ==> Object.prototype.proto ==> null
原型
原型链
每个实例对象( object )都有一个私有属性(称之为 proto )指向它的 构造函数的原型对象( prototype)。该原型对象也有一个自己的原型对象( proto ) ,层层向上直到一个对象的原型对象为 null