Javascript增量运算符 totalvalue=0; 对于(x=1;x

Javascript增量运算符 totalvalue=0; 对于(x=1;x,javascript,Javascript,totalvalue = 0; for (x=1; x<6; x++) { totalvalue += document.getElementById("rcv_amount_"+x).value; } 试一试 totalvalue = 0; for (x=1; x<6; x++) { totalvalue += document.getElementById("rcv_amount_"+x).value; } 您必须将.value转换为一个数字-最初元素的.value属性是一个

totalvalue = 0;
for (x=1; x<6; x++)
{
totalvalue += document.getElementById("rcv_amount_"+x).value;
}
试一试

totalvalue = 0;
for (x=1; x<6; x++)
{
totalvalue += document.getElementById("rcv_amount_"+x).value;
}

您必须将
.value
转换为一个数字-最初
元素的
.value
属性是一个字符串,因此
+=
运算符会导致串联,而不是加法


要将字符串值转换为数字,可以对整数使用
parseInt(…,10)
,或
parseFloat(…)
或仅使用
+(…)
用于非整数。

您必须将
.value
转换为一个数字-一开始
元素的
.value
属性是一个字符串,因此
+=
运算符会产生串联,而不是加法


要将字符串值转换为数字,您可以使用
parseInt(…,10)
来表示整数,或者使用
parseFloat(…)
来表示非整数,或者只使用
+(…)
来表示非整数。

添加字符串时,将其转换为数字就可以了;)看起来像是在连接字符串,而不是在添加字符串,把它们转换成数字,你就没事了;)看起来您是在连接字符串而不是进行加法。您应该始终为parseInt指定第二个参数,即`parseInt(…,10),以确保该值被视为十进制数(而不是八进制或十六进制),据我所知,该参数是可选的,默认情况下为10。不,默认情况下,它是根据字符串猜测的。虽然八进制(前导零)在大多数浏览器中已经消失,但它仍然可以处理
0x…
,因为hexCouln并不同意。始终使用JSLint来防止这种情况。它们可能很难找到。@Portnoy它是可选的,但默认值是零,意思是“从字符串中找出”。您应该始终为parseInt指定第二个参数,即`parseInt(…,10),以确保该值被视为十进制数(而不是八进制或十六进制),据我所知,该参数是可选的,默认值为10。不,默认值是从字符串猜出来的。虽然八进制(前导零)在大多数浏览器中已经消失,但它仍然可以处理
0x…
,因为hexCouln并不同意。始终使用JSLint来防止这种情况。它们可能很难找到。@Portnoy这是可选的,但默认值为零,表示“从字符串中找出”。