在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方式添加方法,添加的方法属于此类,后面的两个实例都可以进行访问,后面一种方式,添加的方法只属于此实例;