前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >前端开发:javascript对象中定义私有属性的另类方法

前端开发:javascript对象中定义私有属性的另类方法

原创
作者头像
用户4831957
修改2019-07-11 14:18:40
1.3K0
修改2019-07-11 14:18:40
举报

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

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

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

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

2、不使用 new 操作符调用构造函数。

下面直接上代码:

代码语言:javascript
复制
function Person(name, age, job){
 //创建要返回的对象
 var o = new Object();
 //可以在这里定义私有变量和函数
 //添加方法
 o.sayName = function(){
 alert(name);
 };
 //返回对象
 return o;
}
var friend = Person("我是程序员", 29, "软件工程师");
friend.sayName(); //"我是程序员"

除了使用 sayName() 方法之外,没有其他办法访问 name 的值。

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

此例仅为展示一些基本技巧,欢迎大家转发和关注。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档