JavaScript 动态生成方法的例子

作者:纸飞机

时间:2026-10-24

浏览:141

本文通过 JavaScript 代码示例,展示如何利用闭包在构造函数中动态生成 getter 和 setter 方法。通过遍历属性对象,为每个属性创建对应的访问器函数,实现私有属性的封装与访问。

文章目录

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()); // 调用动态生成的对象,获取属性对象的值

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章