一、普通对象和函数对象
JS中对象形式分为普通对象和函数对象,通过new Function()创建的对象都是函数对象,其他的均为普通对象
二、原型对象与__proto__
原型对象: 每个函数都有prototype属性,这个属性是一个指针,指向一个对象默认为Object空对象
每个原型对象都有一个constructor属性,他指向的是函数本身
每个实例对象都有一个__proto__可称为隐式原型,他的值指向的就是原型对象
三、原型链
每个对象的原型对象是一个对象,这个原型对象的对象仍是一个对象,依次下去就形成了原型链
Object.prototype.__proto__ -------------------------- null
function fn() {}
fn.__proto__ === Function.prototype
Function.prototype ===Function.__proto__ // Function也是一个Function对象
Function.__proto__.__proto__ === Object.prototype