2012-01-22 54 views
2

我想建立一個簡單的計算器學習JavaScript/jQuery的,但似乎越來越困惑如何使其工作。基本上目前我似乎無法正確更新我的計數,而不是將數字/值加在一起,而是將它們連接在一起,如果有人可以給我一些指導,說明我如何能夠恢復正確以及如何使代碼更高效的任何其他建議,那就太好了。我不想讓任何人給我正確的腳本。建設計算器有困難

http://jsfiddle.net/kyllle/edRk9/4/

感謝所有提前爲您出謀劃策

回答

3

val()方法返回一個字符串,+運營商將串連如果其中一個操作數是一個字符串。您可以將值轉換爲使用parseInt[MDN]一個數字:

$('input.num', '#buttons').on('click', function() { 
    // when click a number it appears in #result   
    currentNumber = parseInt($(this).val(), 10); 
    $('#result').html(currentNumber); 
}); 

注意,解析十進制數,使用parseFloat[MDN],不parseInt

+0

也爲解析你可以使用+ '10' ,但parseInt函數('12' ,10 )更安全,更可讀。 –

+0

我認爲parseInt不會像十進制數字一樣工作。但也許我錯了 –

+0

@Alex Dn - 你說得對。對於小數點,使用'parseFloat'。我在答覆中添加了一條註釋。 – FishBasketGordo

1

parseInt函數,parseFloat或者和之前1乘以值或使用eval(),但它是最糟糕的情況:)