理解原型:
每一个函数都会有一个prototype属性 该属性是一个对象,对象是该函数的原型,原型对象里面有个constructor 属性该属性指向函数
对象与原型之间的关系:
每个对象都有一个_proto_属性 该属性是一个对象 对象是该构造函数的原型
构造函数与普通函数的区别
- 构造函数的this指向实例本身
- 普通函数的this指向调用者
- 构造函数需使用new关键字来创建新的实例对象,普通函数不需要
- 构造函数首字母要大写 如 var a = new Object() , var a = new Array() 都是首字母大写
原型原型链最终的目的是让所有的实例对象能够共享其属性和方法
对象创建方式 new Object() Object就是构造函数
function Object (){}
总结:只要是函数就会有prototype属性,prototype属性对象里面的constructor 又指回了该构造函数 只要是对象就有_proto_,该属性指向prototype 这样就形成了一个链条