绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
javascript对象中定义私有属性的另类方法
2019-10-28 09:53:27

私有变量作用为了在对象创建过程中变量不会被外部访问,如果要访问只能通过属性或定义方法方式来实现。


javascript

在c#和Java中定义私有属性通过private关键词即可,那么在javascript中如何定义私有变量呢?下面就说一种比较另类的方法。

为什么这里说另类呢,有两点不同:

1、新创建对象的实例方法不引用 this

2、不使用 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 的值。

即使有其他代码会给这个对象添加方法或数据成员,也不可能有别的办法访问传入到构造函数中的原始数据。

分享好友

分享这个小栈给你的朋友们,一起进步吧。

应用开发
创建时间:2020-06-17 15:31:04
应用软件开发是指使用程序语言C#、java、 c++、vb等语言编写,主要是用于商业、生活应用的软件的开发。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • 栈栈
    专家
戳我,来吐槽~