一段代码说明原理:
/*类*/
function Obj(){
this.func1 = function(){
alert("func1");
};
}
var obj1 = new Obj();
Obj.func2 = function(){//添加类方法
alert("func2");
};
Obj.prototype.func3 = function(){//添加原型方法
alert("func3");
}
try{
obj1.func2();/*对象不能使用添加的类方法*/
}catch(e){
alert(e);//报错
}
var obj2 = new Obj();
try{
obj2.func2();/*虽然,在添加类方法后再初始化的对象也不能使用添加的类方法*/
}catch(e){
alert(e);//报错
}
try{
obj1.func3();/*对象能使用添加的原型方法*/
}catch(e){
alert(e);
}
try{
Obj.func2();/*添加的类方法需要使用类来调用*/
}catch(e){
alert(e);
}
/*总结:
在类定义后,想为这个类的所有对象动态增加方法,可以使用添加类方法的方式实现。
*/