1.每个函数function都有一个prototype,即显示原型属性
2.每个实例对象都有一个__proto__,可称为隐式原型属性;创建对象时添加
3.对象的隐式原型的值为其对应的构造函数的显示原型的值
4.函数的prototype属性:在定义函数时自动添加的,默认是一个空的Object对象
5.对象的__proto__属性:创建对象时自动添加的,默认值为构造函数的prototype属性值
我们可以直接操作显示原型,但不能直接操作隐式原型(ES6)之前
function Fn(){
}
console.log(Fn.prototype);//保存的地址值
var fn = new Fn();
console.log(fn.__proto__);//保存的地址值
console.log(Fn.prototype===fn.__proto__);//true