JavaScript 对象原型
前面有一章提到无法为已有的对象构造器添加新属性
Person.nationality = "English"; //得到的是undefined
如需向构造器添加一个新属性,则必须把它添加到构造器函数。
function Person(first, last, age, eyecolor) { this.firstName = first; this.lastName = last; this.age = age; this.eyeColor = eyecolor; this.nationality = "English";}所有的javascript 对象都是重原型集成属性和方法。
日期对象继承自Date.prototype。数组对象继承自Array.prototype。 Person 对象继承自Person.prototype.
Object.prototy[文]pe位于原型继承链的顶端:
日期对象,数组对象和Pers[章]on对象都继承自 Object.prototy[来]pe。
向对象添加属性和方法
有时,想向所有给定类型的已有[自]对象添加属性(或方法)。
有时,想向对象构造器添加新属[一]性(或方法)。
使用prototype 属性
javascript prototype 属性允许您为构造器添加新属性,新方法
function Person(first, last, age) { this.firstName = first; this.lastName = last; this.age = age;}Person.prototype.nationality = "USA"; Person.prototype.name = function() { return this.firstName + " " + this.lastName;};