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函数
可以实现对对象属性的监视。