1.原型:prototype
-
所有函数都有一个原型对象(prototype),用于让所有实例对象共享这些原型对象上的属性和方法
-
所有实例共享的是原型对象上的同一个属性或者方法,当给实例对象添加与原型对象同名的属性或者方法时,并不会·改变原型对象上的属性或者方法,因为实例对象自定义的属性或方法会屏蔽原型对象上的
-
访问属性或者方法的原理是:实例对象先在自身查找属性或者方法,当未找到时,才会在原型对象上查找,层层向上
-
属于实例对象自身的属性或者方法指的是在构造函数中定义的后者自身后面添加的
function Person(){ this.a=1000; } Person.prototype.b=1000; var p=new Person(); p.a;//1000 p.b;//1000 p.b=100; console.log(p.b