javascript在c#和Java中定义私有属性通过private关键词即可,那么在javascript中如何定义私有变量呢?下面就说一种比较另类的方法。
为什么这里说另类呢,有两点不同:1、新创建对象的实例方法不引用 this2、不使用 new *** 作符调用构造函数。
下面直接上代码:function Person(name, age, job){ //创建要返回的对象 var o = new Object(); //可以在这里定义私有变量和函数 //添加方法 o.sayName = function(){ alert(name); }; //返回对象 return o;}var friend = Person("我是程序员", 29, "软件工程师");friend.sayName(); //"我是程序员"除了使用 sayName() 方法之外,没有其他办法访问 name 的值。
即使有其他代码会给这个对象添加方法或数据成员,也不可能有别的办法访问传入到构造函数中的原始数据。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)