JavaScript 动态生成方法的例子

复制代码 代码如下:

  function User(properties){

  for(var i in properties){ //遍历该对象的所有属性,并保证其作用于正确

  (function(which){

  var p=i;

  which["get"+p]=function(){ //动态生成的方法

  return properties[p]; //返回对象的属性值

  };

  which["set"+p]=function(val){ //动态生成的方法

  properties[p]=val;

  };

  })(this); //自执行函数,this在这里表示用户对象实例

  }

  }

  var user=new User({

  name:"Bob",

  age:44

  });

  alert(user.name==null); //注意:name属性并不存在,因为它是属性对象的私有变量

  user.setname("Supersha"); //调用动态生成的对象,修改属性对象的值

  alert(user.getname()); //调用动态生成的对象,获取属性对象的值