javascript特权方法有什么用


本文摘自PHP中文网,作者青灯夜游,侵删。

在javascript中,特权方法指那些在查看并处理私有变量的同时,允许用户以公共方法的方式访问的方法。作用:在构造函数外面公开访问(仅限于实例化的对象),而且还能够访问私有成员和方法;通过特权方法可以控制公有方法对私有属性或方法的访问。

本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

特权方法:

指那些在查看并处理私有变量的同时,允许用户以公共方法的方式访问的方法.

要点:

1.特权方法是一个方法

2.特权方法可以访问私有变量

定义特权方法

在构造函数内部通过this关键字定义的的方法,可以被实例化的对象继承所调用。

1

2

3

4

5

6

7

8

9

10

11

12

var Student = function(name) {

var _name = name; //私有属性

//特权方法

this.getName = function() {

return _name;

};

this.setName = function(name) {

_name = name;

};

};

var s1 = new Student('zhangsan');

s1.getName(); //zhangsan

特权方法的作用

特权方法能够在构造函数外面公开访问(仅限于实例化的对象),而且还能够访问私有成员和方法,因此用来做为对象或者构造函数的接口最合适不过了,通过特权方法我们可以控制公有方法对私有属性或方法的访问。 在JS框架的扩展中有很多应用。

特权方法与公有方法的区别

相同点:

1、 都可以在构造函数外部公开访问。

2、都可以访问公有属性

不同点:有2点

1、每个实例都要拥有一份特权方法的副本(除在单例中使用外,需要考虑内存),而公有方法为所有实例共享

1

2

3

4

5

//创建Student对象实例

var s1 = new Student('zhangsan');

var s2 = new Student('lisi');

//两实例的特权方法的引用不相同, 说明在对象实例化的时特权方法被重新创建

console.log(s1.getName === s2.getName); //false

2、特权方法可以访问私有属性和方法,而公有方法不能。

1

2

3

4

5

6

//为Student创建公有方法

//公有方法不能访问私有属性

Student.prototype.myMethod = function() {

console.log(_name); //ReferenceError: _name is not defined

};

s1.myMethod();

【推荐学习:javascript高级教程

以上就是javascript特权方法有什么用的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

用js和html做一个简易画板代码

javascript中的垃圾回收和内存泄漏

javascript中random用法是什么

vue和js区别是什么

javascript就是js吗

关于html5中标签video播放的新解析

javascript怎么删除所有节点

vue组件修改根实例的数据方法(附代码)

javascript中节点怎么删除

javascript如何转换时间

更多相关阅读请进入《javascript》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...