我想用 Javascript 计算但有奇怪的问题。它只是将 1 添加到我的 String 但它应该计算它。我正在使用 parseInt() 函数将我的字符串转换为 Int,并且计算如下:sec = sec + 1;
var calc= parseInt($(this).find("input[name=calc]").val());
calc = calc + 1;
我想用 Javascript 计算但有奇怪的问题。它只是将 1 添加到我的 String 但它应该计算它。我正在使用 parseInt() 函数将我的字符串转换为 Int,并且计算如下:sec = sec + 1;
var calc= parseInt($(this).find("input[name=calc]").val());
calc = calc + 1;
如果不想,您的字符串不能为空NaN
。首先检查你是否得到一个空字符串:
var cal = null;
if ( $(this).find("input[name=calc]").val() ) {
cal = parseInt( $(this).find("input[name=calc]").val(), 10 );
cal++;
}
if(!!sec){
sec = parseInt(sec, 10) + 1;
alert(sec);
}
或者,在您的场景中:
var fieldvalue = $(this).find("input[name=calc]").val(), calc;
if(!!fieldvalue){
calc = parseInt(fieldvalue, 10);
calc += 1;
alert(calc);
}
你有更多的代码要表达吗?它可能只是出现 1,因为 sec 未设置为数字
在 javascript 中,+ 运算符用于字符串的添加和连接。由于 javascript 是弱类型的,因此您必须添加有关类型的信息。这里有两个解决方案:
从字符串中减去 0
秒 = (sec-0) + 1;
将一元 + 运算符添加到字符串
秒 = (+秒) + 1;