关于JavaScript中Get/Set访问器

 get/set访问器属性 :ES6的新属性 原始写法:

unction Person() {
    var age = new Date().getFullYear() - 18;
    Object.defineProperty(this, "age", {
        get: function () { alert("内部存储数据为:" + age); return new Date().getFullYear() - age; },
        set: function (value) { age = value; },
        writable:true,
        configurable:true,
        enumenable:true
    });
}

 结合构造函数和原型对象 可以实现

RFB.prototype = {
    // ===== PROPERTIES =====

    dragViewport: false,
    focusOnClick: true,

    _viewOnly: false,
    get viewOnly() { return this._viewOnly; },
    set viewOnly(viewOnly) {
        this._viewOnly = viewOnly;

        if (this._rfb_connection_state === "connecting" ||
            this._rfb_connection_state === "connected") {
            if (viewOnly) {
                this._keyboard.ungrab();
                this._mouse.ungrab();
            } else {
                this._keyboard.grab();
                this._mouse.grab();
            }
        }
    },
}

当该构造函数实例化后 调用viewOnly时 会自动出发get/set函数 

可以实现对对象属性的监视。

猜你喜欢

转载自blog.csdn.net/margin_0px/article/details/81288733