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()); //调用动态生成的对象,获取属性对象的值
复制代码 代码如下:
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()); //调用动态生成的对象,获取属性对象的值

« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3