使用javascript增加变量

时间:2016-04-29 10:01:26

标签: javascript jquery

我制作了这个剧本,但是有一个问题。

当我点击addbutton时,控制台日志中的变量会收到每次点击的更新(1,2,3,4)。

var fieldHTML永远是1,为什么?

var a = 1;

$(addButton).click(function(){ //Once add button is clicked

a++;

console.log(a);


});

var fieldHTML = a;

4 个答案:

答案 0 :(得分:4)

因为var fieldHTML = a;会将a的值复制到fieldHTML

它不会创建参考。

更改a的值(在您设置fieldHTML的值之后)不会更改fieldHTML的值。

答案 1 :(得分:0)

您需要将一个id或类应用于选择器,将其包装到文档就绪中,并传递" a"的新值。到一个函数,然后可以操作fieldHTML值。查看我使用警报来演示增加计数而不是console.log的片段说明 - 只是因为它在片段中。



$(document).ready(function(){
     var a = 1;
      $('#addButton').click(function(){ //Once add button is clicked
       a++;
       alert("a = " + a);
       update_fieldHTML(a);
      });
  })

function update_fieldHTML(value){
var fieldHTML = value;
  alert("fieldHTML =" + fieldHTML);
  }

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="addButton">Click Me</button>
&#13;
&#13;
&#13;

答案 2 :(得分:-1)

var addButton = $("#btn");
var viewButton = $("#btn-2");
var setButton = $("#btn-3");
var a = 1;
var fieldHTML = a; // on load, addign a value to fieldHTML variable  |  fieldHTML = 1

$(addButton).click(function() { //Inc by 1
  a++;
  console.log('a : '+a);
});

$(viewButton).click(function() {  //Show fieldHTML value in console
  console.log('fieldHTML : '+fieldHTML);
});

$(setButton).click(function() { // reassign a value to the fieldHTML variable  | on click event
  fieldHTML = a;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<button id='btn'>Inc a</button>
<button id='btn-3'>Set fieldHTML</button>
<button id='btn-2'>View fieldHTML</button>

答案 3 :(得分:-1)

var addButton = $("#btn");
var viewButton = $("#btn-2");
var a = 1;
var fieldHTML = a;

$(addButton).click(function() { 
  fieldHTML = increment();
  alert('a : ' + a);
});

$(viewButton).click(function() {
  alert('fieldHTML : '+fieldHTML);
});

function increment(){
   return ++a;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<button id='btn'>Inc a</button>
<button id='btn-2'>View fieldHTML</button>