//创建一个新的用户对象,接受一个有许多属性的对象作为参数
function User(properties)
{
 //遍历该对象的所有属性,并保证其作用域正确
 for(var i in properties){
  (function(which){
   var p=i;
   //创建此属性的一个新的读取器(getter)
   which["get"+p]=function(){
    return properties[p];
   };
   
   //创建此属性的一个新的设置器(setter)
   which["set"+p]=function(val)
   {
    properties[p]=val;
   };
  })(this);
 }
}
//创建一个新的用户对象实例,并把具有两个属性的一个对象传入作为参数
var user=new User({name:"Bob",age:44});
//读取属性值
alert(user.getname());
//设置属性值
user.setage(23);

posted on 2009-12-04 15:03  wbkt2t  阅读(285)  评论(0编辑  收藏  举报