2014-04-03 154 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; 
}