javascript原型与原型链

186 阅读1分钟

一、普通对象和函数对象

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