js 特权方法简单介绍
分类:实例代码
本章节通过代码实例简单介绍一下javascript中特权方法的相关概念。
咱们不去纠结这个概念的名称是否规范(本人也没有深入去研究),不过网络上确实有这样的称呼。
下面就进入正题做一下简单介绍。
相关概念:
所谓的特权方法就是通过this关键字定义于构造函数内部的方法。
特权方法能够在构造方法外部公开访问(当然必须要实例化为一个对象),并且能够访问方法的私有成员。
代码实例:
var Antzone = function(webName) { var _webName = webName; //私有属性 //特权方法 this.getName = function() { return _webName; }; this.setName = function(webName) { _webName = webName; }; }; var antzone = new Antzone('前端教程网'); console.log(antzone.getName());
上面的代码中getName()方法和setName()方法就是特权方法,它能够访问构造函数内部的私有成员。
特权方法与公有方法的区别与共同点:
所谓的公有方法就是使用prototype为构造函数添加的方法。
具体可以参阅javascript prototype原型一章节,这里就不多介绍了。
共同点:
(1).都可以在构造函数外部访问(咱们这里特指实例化对象)。
(2).都可以访问构造函数内部的公共成员。
不同点:
(1).特权方法每次实例化都是创建的一个副本,而公共方法则是引用的同一个方法。
(2).特权方法可以访问构造函数的私有成员,而公共方法是不可以的。