这种属性的 getter 和 setter 声明是否正确且最有效?
var AxisRange = (function(){
function AxisRange(){
this._userMaxValue = 0.0;
Object.defineProperty(AxisRange.prototype, "UserMaxValue", {
get : function(){
return this._userMaxValue;
},
set : function(value){
if(value != this._userMaxValue){
this._userMaxValue = value;
this.validateUserMaxValue();
this.validateUserStep();
this.synchronizeActualRange();
}
}
});
}
AxisRange.prototype.validateUserMaxValue = function(){
alert("validateUserMaxValue");
};
return AxisRange;
})();
另外,我正在使用 JetBrains WebStorm 编写我的 JS 代码,它警告我
AxisRange.prototype
中使用的Object.defineProperty
不可分配给参数类型 Object。- 一行
if(value != this._userMaxValue)
是说“可能无效使用这个”。
在我进一步输入代码之前,我需要确保我使用的是正确的。