Javascript定义类或对象
一.工厂方式:
function createObj(fieldValue){
var tempObj=new Object;
tempObj.field=fieldValue;
tempObj.method=function(){
//method Code
}
return tempObj;
}
var tempObj=new Object;
tempObj.field=fieldValue;
tempObj.method=function(){
//method Code
}
return tempObj;
}
调用方式
var myObject=createObj(SomeFieldValue)
问题:
1、语义上不像new运算符正规
2、每次调用都会创建对象自己的方法,即createObj一次产生一次单独的myObject.method
第2点的解决方法,将方法定义于工厂函数外,即:
function method(){
//method Code
}
function createObj(fieldValue){
var tempObj=new Object;
tempObj.field=fieldValue;
tempObj.method=method;
return tempObj;
}
//method Code
}
function createObj(fieldValue){
var tempObj=new Object;
tempObj.field=fieldValue;
tempObj.method=method;
return tempObj;
}