在javascript中,我们可以把一切看作为是对象(除了三种原始数据类型。不过某些时候,也会被自动包装成为对象),我们可以动态的给一个函数添加属性和方法。
例:
///定义一个人类;
function Person(name,age) { this.name=name; this.age=age; } Person.prototype={ getName:function(){ return this.name; }, getAge:function(){ return this.age; } }
我们可以实例化此类,并动态添加方法
var fjc=new Person('冯际成',21); var hjx=new Person('郝继旭',20); //动态添加方法,属于这个对象; Person.prototype.getGreeting=function(){ return 'Hi '+this.getName()+'!'; } //也可以这样添加,属于这个实例。 fjc.displayGreeting=function(){ alert(this.getGreeting()); }
由于前一种方式使用prototype方式添加方法,添加的方法属于此类,后面的两个实例都可以进行访问,后面一种方式,添加的方法只属于此实例;