返回NaN的javascript存款函数

时间:2019-06-04 22:55:03

标签: javascript

我为帐户存款编写了一个函数,该函数将返回帐户余额,但是当我调用该函数时,它确实返回NaN

    deposit(amount){
    let accountBalance;
    accountBalance += amount;
    return accountBalance;
    }
    console.log(accountUser.deposit(2000));

3 个答案:

答案 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

因此,在与特定类型值结合使用和交互之前,需要确保至少声明正确类型变量和命题。