Javascript添加整数

Cod*_*Guy 3 javascript integer

如何在Javascript中向另一个整数添加一个简单的整数?

我得到NaN作为总值.

<script type="text/javascript">
var total = 0;
document.getElementById("dds1").onkeyup = function() {
    total = total + parseInt(this.value,10);
    updateIt();

};

function updateIt() {
//tofixed(2)
    document.getElementById("mySpan").innerHTML = total;
}
Run Code Online (Sandbox Code Playgroud)

但如果我做以下事情:

total = parseInt(this.value,10);
Run Code Online (Sandbox Code Playgroud)

那么total有一个值(一个整数值).

Šim*_*das 5

问题是你执行添加读取每个键盘上的输入值.例如,如果用户按BACKSPACE清除输入,则该值将为空字符串,这将导致parseInt之后的NaN.一旦你有了NaN(在你的total变量中),你就再也无法摆脱它了.

试试这个:

document.getElementById('dds1').onkeyup = function() {

    var value = parseInt(this.value, 10);

    if ( !isNaN(value) ) {
        total += value;
        updateIt();    
    }

};
Run Code Online (Sandbox Code Playgroud)

在这里,首先检查输入值是否可以解析为数字.如果没有,你就忽略它.


另一种方法是:

document.getElementById('dds1').onkeyup = function() {
    var value = parseInt(this.value, 10);

    isNaN(value) && return;

    total += value;
    updateIt();
};
Run Code Online (Sandbox Code Playgroud)

在这里,如果您读取的输入值无法转换为数字,则只需完全返回该函数即可.