gpt4 book ai didi

JavaScript getter 和 setter

转载 作者:行者123 更新时间:2023-11-30 17:47:28 24 4
gpt4 key购买 nike

好的,我不明白。

var customer = new Object;
customer._customerID = 0;
Object.defineProperty(customer, "customerID", {
get: function() {
if (_customerID > -1) {
return this._customerID;
} else {
throw new Error("No valid customer ID is avaliable");
}
},
set: function(id) {
if(isNaN(id) || id %1 !== 0 || id < 0) {
throw new Error("Custom ID must have a non-negative integer");
}
this._customerID = id;
}
});

这段代码有什么意义?当我使用

customer._customerID = 20;
console.log (customer.customerID);

我收到错误 _customerID 未定义。我不明白这是什么意思。我对 javaScript 有点陌生,不要太苛刻 -)

最佳答案

在您使用全局 _customerID 变量的 getter 中,您的 get 函数应该是:

function() {
if (this._customerID > -1) {
return this._customerID;
} else {
throw new Error("No valid customer ID is available");
}
}

关于JavaScript getter 和 setter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19843311/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com