我为帐户存款编写了一个函数,该函数将返回帐户余额,但是当我调用该函数时,它确实返回NaN
deposit(amount){
let accountBalance;
accountBalance += amount;
return accountBalance;
}
console.log(accountUser.deposit(2000));
答案 0 :(得分:1)
您需要先定义accountBalance的值,然后再使用+=
。
let accountBalance = 0;
accountBalance += amount;
这是因为未定义+任何金额都是“不是数字”
答案 1 :(得分:0)
如果将accountBalance变量设置为全局变量,则可以在存款函数中使用该变量。
var accountBalance = 100;
function deposit(amount){
accountBalance += amount;
return accountBalance;
}
console.log(deposit(2000));
答案 2 :(得分:0)
未定义的 类型 是“字符串文字”的超原语,而不是< strong> null ,它是“数字原语”的超原语-因此,字符串文字+任何其他JavaScript类型都会在表达式中添加其值的字符串表示形式。
因此,如果您有a = undefined
[与let a;同样相同]声明,然后使用a + 3
与编写"undefined" + 3
并评估以下内容相同: (字符串+数字)= NaN;
使用适当的类型是完全相反的...:因为 null 是 undefined type related 与未定义值的比较高的等级 object 的形式,它会强制转换为 0 number Primitive ,并求值(数字[空] +数字)= 3,实际上是0 + 3
= 3。
Bekim Bacaj&copy
因此,在与特定类型值结合使用和交互之前,需要确保至少声明正确类型变量和命题。