2013-06-27 25 views
0

我試圖創建簡單的代碼,每次按下按鈕時都會在textarea中增加一個數字。我在對象的屬性中擁有0的起始值,然後是一個接受該值並添加一個值的函數。我知道它會第一次添加一個,然後繼續保持相同的價值。那麼有沒有辦法不斷改變物體的屬性?如何在javascript中按下按鈕時連續更改對象的屬性值

<script> 
var myObj = { 
    value:0 
} 
function addObj(){ 
    var numOfObj = myObj.value + 1; 
    document.getElementById('textarea1').value = numOfObj; 
}; 
</script> 
+0

var numOfObj = myObj.value ++; – cycaHuH

+1

var numOfObj = ++ myObj.value; –

+0

真棒,謝謝 – user2528614

回答

2

巴拉吉Sivanath是正確的,但這裏的解釋爲什麼:

當你調用

var numOfObj = myObj.value + 1; 

你不改變myObj.value值。你得到的myObj.value價值,並增加1.自變量永遠不會改變,這將永遠是0 + 1

通過調用「++」操作符,你實際上是在不斷變化的價值,所以

var numOfObj = ++myObj.value; 

將主要運行此:

myObj.value = myObj.value + 1; 
var numOfObj = myObj.value; 

編輯:哎呀它的前綴做什麼,我說。 Here's a good link on the operators in Javascript.使用post-fix ++不會更改myObj.value。

+0

不是真的 - 它是一個後綴操作符! – Bergi

+0

@Bergi哎呦很好。我將其更改爲前綴並添加了一個鏈接。 – Shaz

相關問題