欢迎来到DIVCSS5查找CSS资料与学习DIV CSS布局技术!
  在javascript中规定,每个函数(大部分时间只针对构造函数来使用)都有一个prototype属性,这个属性就是原型。他的值是一个对象类型的值。
 
  prototype指向另一个对象,我们写的函数会默认的,自动的继承prototype所指向的这个对象。
 
  当数据或者函数需要被共享时,把他交给prototype原型来管理,这样可以节省资源。
 
  结果为:
 
  prototype属性属于构造函数(类),__proto__属于实例化出来的对象。
 
  prototype是标准属性,__proto__非标准属性。
 
  通过构造函数方式实例化出来的对象,内部会包含一个指向构造函数的原型对象(proto)。
 
  所有的对象,都会直接或间接的继承原型对象(所有对象都有原型,原型自带的属性可以直接使用)。
 
  构造函数继承自原型对象(通过prototype属性来调用)实例隐式继承原型对象(通过__proto__属性调用)构造函数通过new关键字得到他的实例对象。(理解为类和对象的关系)
 
  属性读取:先找实例中是否存在属性,如果实例中不存在,则寻找原型属性中是否存在。方法读取:先找实例中是否存在方法,不存在则寻找原型。属性设置:
 
  a:简单数据类型:设置的属性名和原型属性名相同时,设置的是实例对象自己的属性。不会更改原型属性的值。
 
  b:复杂数据类型:如果设置的是复杂数据的内部属性,那么会修改原型属性中的值。如果设置的是这个复杂数据本身,那么设置的就是对象自己的属性。不会更改原型属性的值。

如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h62046.shtml