本文通过具体代码示例,解析JavaScript中如何模拟public和private访问权限。展示了使用对象字面量定义静态公共属性,以及利用立即执行函数(IIFE)结合闭包实现私有变量与公共方法的封装机制,帮助理解JS中的访问控制模拟。
JavaScript中模拟public与private属性及static修饰符
代码示例如下:
// 对 document 对象进行重新封装
var Console={
Write:function(msg){alert(msg);}
};
// 定义 Person 对象
var Person={
_name:"zzl", // 静态公有属性
_age:28,
PrintInfo:function(){Console.Write("name:"+Person._name+",age:"+this._age);} // 公有方法,this 指向 Person
};
// 定义 People 类型(对象)
var People=(function()
{
var _name="zzl";// 私有变量
var _age=28;
return {// 公有接口
PrintInfo:function(){Console.Write("name:"+_name+",age:"+_age);}
}
}
());
Person.PrintInfo();// 调用对象中的方法
People.PrintInfo();// 调用方法对象中的公开子方法
Console.Write(Person._name);// 访问对象中的属性