摘要: 首先声明一个概念:我们虽然可以通过实例访问保存在原型中的值,但却不能通过实例重写原型中的值。如果我们在实例中给一个属性赋值,而且该属性与原型中的一个属性同名,那我们就在实例中创建该属性,该属性会屏蔽原型中的那个属性。但是,虽然不能重写原型中的值,如果原型中包含有引用类型(数组,对象)的值的话,我们可以通过引用来修改原型中的值。function Cat(){};Cat.prototype.type="Animal";Cat.prototype.friends=['kitty','cookie'];Cat.prototype.speak=func 阅读全文
posted @ 2013-05-21 20:32 danyan 阅读(357) 评论(0) 推荐(0)
摘要: 当一个构造函数被创建时,将包含一个prototype属性,指向它的原型对象,而这个原型对象,会包含一个constructor属性,指向该构造函数。当调用构造函数生成一个新实例后,该实例的内部将包含一个指针(内部属性),指向构造函数的prototype属性所指向的原型对象。假如我们让一个原型对象等于另一个构造函数的实例,那么这个原型对象也有了一个指向另一个原型对象的指针,层层递进,就构成了实例与原型的链条,即原型链。 阅读全文
posted @ 2013-05-21 16:10 danyan 阅读(136) 评论(0) 推荐(0)