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).特权方法可以访问构造函数的私有成员,而公共方法是不可以的。

回复

我来回复
  • 暂无回复内容