我是JavaScript新手,我试图理解这些功能的逻辑。这就是我尝试做的事情:
var GetterSetter = (function () {
var balance = 0.0;
var getBalance = function () {
return balance;
};
var setBalance = function (amount) {
if (amount > 0) {
return balance = amount;
}
};
})();
GetterSetter.setBalance(120);
当我尝试运行时。我得到了:
未捕获的TypeError:无法读取属性' setBalance'未定义的 在GetterSetterScript.js:16
答案 0 :(得分:4)
使用
return {
getBalance:getBalance,
setBalance:setBalance
}
在函数的末尾
答案 1 :(得分:2)
您的GetterSetter
不存在setBalance
的方法。
您需要在代码中设置该功能。我已经为您提供了示例:
<强>码强>
var GetterSetter = (function () {
var balance = 0.0;
return {
getBalance: function () {
return balance;
},
setBalance: function (amount) {
if (amount > 0) {
return balance = amount;
}
}
}
})();