Javascript 求和问题
发布网友
发布时间:2022-04-22 13:29
我来回答
共4个回答
热心网友
时间:2022-04-22 14:58
代码不全,不知道你的rest参数怎么传的,你可以这样写:
var totalsum=0;
//每次加加时就调用这个方法,最后计算的结果就是totalsum
function sum(rest){
totalsum+=parseInt(rest);
}
热心网友
时间:2022-04-22 16:16
给每个文本框取一个id,比如iptid1--iptid10。
这些id的名称都是根据你的文本框递增来变化的,比如你有5个,那你五个文本框的id就分别是iptid1,iptid2,iptid3,iptid4,iptid5。
取总值的时候可以这样
document.getelementbyid("iptid1").value这样就可以取到一个文本框的值了,然后求和即可。
热心网友
时间:2022-04-22 17:51
问题出在for循环,
for (var i = arguments.length; i>0; i--){
result = result + arguments[i];
因为,i--,之后arguments[i]中的i在这次循环中还没减1,所以访问的数组数据不存在。
举例sum(3),i = arguments.length=1;i>0;i--;但是i在这次循环体中的值还是1,arguments[i]=arguments[1]是不存在的。
改成arguments[i-1]即可。关于++、--等这些运算参考这篇文章
热心网友
时间:2022-04-22 19:42
rest参数是一个array;
function sum(...rest) {
if(arguments.length === 0){
return 0;
}
let result = 0;
for(let i=0;i<arguments.length;i++){
result += arguments[i]
}
return result
}
和
function sum(...rest) {
if(rest.length === 0){
return 0;
}
let result = 0;
for(let i=0;i<rest.length;i++){
result += rest[i]
}
return result
}
都可以!