0

我正在尝试创建简单的代码,每次按下按钮时都会增加文本区域中的数字。我在一个对象的属性中的起始值为 0,然后是一个函数,该函数采用该值并加一个。我知道它会在第一次添加一个,然后继续采用相同的值。那么有没有办法不断改变对象的属性呢?

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

1 回答 1

2

Balaji Sivanath 是正确的,但原因如下:

你打电话时

var numOfObj = myObj.value + 1;

你没有改变myObj.value. 你得到 1 的值myObj.value并加 1。由于变量永远不会改变,所以它总是 0 + 1。

通过调用 '++' 运算符,您实际上是在更改值,所以

var numOfObj = ++myObj.value;

基本上会运行这个:

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

编辑:哎呀,这是我所说的前缀。 这是 Javascript 中运算符的一个很好的链接。 使用 post-fix ++ 不会改变 myObj.value。

于 2013-06-27T15:43:36.890 回答