function O(arr){
var _store = {};
for( var idx in arr ){
_store[arr[idx]] = undefined;
var name = arr[idx].substring(0,1).toUpperCase()+arr[idx].substring(1);
this['get'+name] = function(){
return _store[arr[idx]];
}
this['set'+name] = function(val){
_store[arr[idx]] = val;
}
}
}
new O(['a','b','c'])
上述例子将自动为a b c生成getter、setter方法(getA/setA、getB/setB、getC/setC)。