2013-06-27 3 views
0

Я пытаюсь создать простой код, который увеличивает число в текстовом поле каждый раз при нажатии кнопки. У меня есть начальное значение 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

awesome, thanks – 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; 

Edit: К сожалению, это префикс, который делает то, что я сказал. Here's a good link on the operators in Javascript. Использование post-fix ++ не изменит myObj.value.

+0

Не совсем - это постфиксный оператор! – Bergi

+0

@ Bergi возглашает хороший улов. Я изменил его на префикс и добавил ссылку. – Shaz