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有一个值(一个整数值).
问题是你执行添加读取每个键盘上的输入值.例如,如果用户按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)
在这里,如果您读取的输入值无法转换为数字,则只需完全返回该函数即可.