JavaScript之原型与原型链

122 阅读1分钟

理解原型:

每一个函数都会有一个prototype属性 该属性是一个对象,对象是该函数的原型,原型对象里面有个constructor 属性该属性指向函数

对象与原型之间的关系:

每个对象都有一个_proto_属性 该属性是一个对象 对象是该构造函数的原型

构造函数与普通函数的区别

  1. 构造函数的this指向实例本身
  2. 普通函数的this指向调用者
  3. 构造函数需使用new关键字来创建新的实例对象,普通函数不需要
  4. 构造函数首字母要大写 如 var a = new Object() , var a = new Array() 都是首字母大写

原型原型链最终的目的是让所有的实例对象能够共享其属性和方法

对象创建方式 new Object() Object就是构造函数

function Object (){}

总结:只要是函数就会有prototype属性,prototype属性对象里面的constructor 又指回了该构造函数 只要是对象就有_proto_,该属性指向prototype 这样就形成了一个链条