2014-04-03 264 views
0

我确信这很简单,但解决方案正在逃避我。我想写一个函数,将导致:1000 + 1001 + 1002 + 1003 + 1004(所以我会输出5010)使用For循环的Javascript计算

我有一个形式,用户输入一个数字x(在这种情况下1000)和它会迭代y的次数(在这种情况下为5)

我知道我需要每次都通过var total存储这个值,但我并没有完全理解它。

我有这个至今:

function baleTotal(){ 
    var x = document.addBale.strt.value; 
    var y = document.addBale.baleNum.value; 
    var calc = Number(x); 
    total = 0; 

    for (var y; y > 0; y--) { 
    calc++; 
    }    

    document.addBale.result.value = total; 
} 
+0

'for(var y; y> 0; y - )'<---这是什么? – zerkms

+1

你可以在你的循环中增加calc,但什么也不做。 – j08691

+0

'total + = calC++;' – megawac

回答

2

你实际上并没有增加你的总数。 这样做的计算给出了基数和迭代次数并返回结果,而不是直接在DOM上进行操作。

function baleTotal(base, iterations) { 
    var total = 0; 
    for (i=0; i<iterations; i++) { 
     total += (base + i); 
    } 
    return total; 
} 

console.log(baleTotal(1000, 5)); 
+0

这很好;以这种方式实施 – graemeboy

+0

这很好。谢谢大家! –

0

你不这样做,总也你重新声明ÿ什么。试试这个:

function baleTotal(){ 
    var x = document.addBale.strt.value; 
    var y = document.addBale.baleNum.value; 
    var calc = Number(x); 
    total = 0; 

    for (; y > 0; y--) { 
    total += calc + y; 
    }    

    document.addBale.result.value = total; 
} 

未测试,但应该工作。

0

这或多或少是什么意思?

function baleTotal(){ 
    var x = document.addBale.strt.value; 
    var y = document.addBale.baleNum.value; 
    total = 0; 

    for (var i = 0; i < y; i++) { 
    total += x + i; 
    }    

    document.addBale.result.value = total; 
} 
0

我想这就是你要找的。

function baleTotal(){ 
    total = 0; 
    for (var i = 0; i < document.addBale.baleNum.value; ++i) { 
    total += document.addBale.strt.value + i; 
    } 
    document.addBale.result.value = total; 
}