尝试使用 IIFE 时未捕获的类型错误
Uncaught TypeError when try to use IIFE
我是 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);
当我尝试 运行 时。我得到了:
Uncaught TypeError: Cannot read property 'setBalance' of undefined
at GetterSetterScript.js:16
使用
return {
getBalance:getBalance,
setBalance:setBalance
}
函数结束
您的 GetterSetter
作为 setBalance
的方法不存在。
您需要在代码中设置函数。我已经为你提供了示例:
代码
var GetterSetter = (function () {
var balance = 0.0;
return {
getBalance: function () {
return balance;
},
setBalance: function (amount) {
if (amount > 0) {
return balance = amount;
}
}
}
})();
我是 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);
当我尝试 运行 时。我得到了:
Uncaught TypeError: Cannot read property 'setBalance' of undefined at GetterSetterScript.js:16
使用
return {
getBalance:getBalance,
setBalance:setBalance
}
函数结束
您的 GetterSetter
作为 setBalance
的方法不存在。
您需要在代码中设置函数。我已经为你提供了示例:
代码
var GetterSetter = (function () {
var balance = 0.0;
return {
getBalance: function () {
return balance;
},
setBalance: function (amount) {
if (amount > 0) {
return balance = amount;
}
}
}
})();