网络编程
位置:首页>> 网络编程>> JavaScript>> JavaScript的私有成员(3)

JavaScript的私有成员(3)

作者:糖伴西红柿 来源:前端观察 发布时间:2009-03-25 20:45:00 

标签:JavaScript,对象,闭包,私有成员

特权

特权方法可以访问私有变量和方法,并且其自身对于公共方法和对象外部都是可访问地。可以删除或者替换一个特权方法,但是不能改变它,或者强迫它泄密。

特权方法是在构造函数内使用 this 指定地。

function Container(param) {
 
    function dec() {
        if (secret > 0) {
            secret -= 1;
            return true;
        } else {
            return false;
        }
    }
 
    this.member = param;
    var secret = 3;
    var that = this;
 
    this.service = function () {
        if (dec()) {
            return that.member;
        } else {
            return null;
        }
    };
}

service 就是特权方法。前三次调用 myContainer.service() 时会返回 ‘abc’。之后返回空(null)。service 调用了可访问私有变量 secret 的私有方法 dec。service 对其他对象和方法都是可见的,但是不能直接访问私有成员。

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com