使用javascript递增变量

使用javascript递增变量,javascript,jquery,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; 因为var fieldHTML=a将a的值复制到fieldHTML 它不会创建引用

我已经制作了这个脚本,但是有一个问题

当我单击
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;

因为
var fieldHTML=a
a
的值复制到
fieldHTML

它不会创建引用


更改
a
的值(设置
fieldHTML
的值后)不会更改
fieldHTML
的值,因为
var fieldHTML=a
a
的值复制到
fieldHTML

它不会创建引用

更改
a
的值(设置
fieldHTML
的值后)不会更改
fieldHTML
的值
var addButton=$(“#btn”);
var viewButton=$(“#btn-2”);
var setButton=$(“#btn-3”);
var a=1;
var fieldHTML=a;//加载时,向fieldHTML变量| fieldHTML=1添加一个值
$(添加按钮)。单击(函数(){//Inc by 1
a++;
console.log('a:'+a);
});
$(查看按钮)。单击(函数(){///在控制台中显示字段HTML值
log('fieldHTML:'+fieldHTML);
});
$(setButton)。单击(function(){//将值重新分配给fieldHTML变量| on click事件
fieldHTML=a;
});

公司
设置字段HTML
查看字段HTML
var addButton=$(“#btn”);
var viewButton=$(“#btn-2”);
var setButton=$(“#btn-3”);
var a=1;
var fieldHTML=a;//加载时,向fieldHTML变量| fieldHTML=1添加一个值
$(添加按钮)。单击(函数(){//Inc by 1
a++;
console.log('a:'+a);
});
$(查看按钮)。单击(函数(){///在控制台中显示字段HTML值
log('fieldHTML:'+fieldHTML);
});
$(setButton)。单击(function(){//将值重新分配给fieldHTML变量| on click事件
fieldHTML=a;
});

公司
设置字段HTML

查看fieldHTML
您需要将id或类应用于选择器,将其包装到document ready中,并将新值“a”传递给一个函数,然后该函数可以操作fieldHTML值。查看代码段注释,我使用警报来演示不断增加的计数,而不是console.log,这仅仅是因为它在代码段中

$(文档).ready(函数(){
var a=1;
$('#addButton')。单击添加按钮后,单击(函数(){//)
a++;
警报(“a=”+a);
更新(a);;
});
})
函数更新\u字段HTML(值){
var fieldHTML=值;
警报(“fieldHTML=“+fieldHTML”);
}


单击Me
您需要将id或类应用于选择器,将其包装到document ready中,并将新值“a”传递给一个函数,该函数随后可以操作fieldHTML值。查看代码段注释,我使用警报来演示不断增加的计数,而不是console.log,这仅仅是因为它在代码段中

$(文档).ready(函数(){
var a=1;
$('#addButton')。单击添加按钮后,单击(函数(){//)
a++;
警报(“a=”+a);
更新(a);;
});
})
函数更新\u字段HTML(值){
var fieldHTML=值;
警报(“fieldHTML=“+fieldHTML”);
}

单击我
var addButton=$(“#btn”);
var viewButton=$(“#btn-2”);
var a=1;
var fieldHTML=a;
$(添加按钮)。单击(函数(){
fieldHTML=increment();
警报('a:'+a);
});
$(查看按钮)。单击(函数(){
警报('fieldHTML:'+fieldHTML);
});
函数增量(){
返回+a;
}

公司
查看字段HTML
var addButton=$(“#btn”);
var viewButton=$(“#btn-2”);
var a=1;
var fieldHTML=a;
$(添加按钮)。单击(函数(){
fieldHTML=increment();
警报('a:'+a);
});
$(查看按钮)。单击(函数(){
警报('fieldHTML:'+fieldHTML);
});
函数增量(){
返回+a;
}

公司

查看fieldHTML
,因为
a
指向一个新值,但
fieldHTML
仍然指向旧值。^除了通过引用传递的对象和数组之外。对象和数组仍然是通过值传递的,区别在于您首先拥有的值是一个引用。因为
a
指向一个新值,但是
fieldHTML
仍然指向旧的。^除了通过引用传递的对象和数组之外。对象和数组仍然是通过值传递的,区别在于您首先拥有的值是一个引用。我不明白,您可以举一个小例子吗?@MaurizioBenini-什么例子?我只是在描述你提供的示例的作用。有一种方法可以用增量值更新fieldHTML?只需显式更新它。我不明白,你可以做一个小例子?@MaurizioBenini-一个什么的例子?我只是在描述您提供的示例的作用。有一种方法可以使用增量值更新fieldHTML?只需显式更新它。按照您编写的方法,此代码
var fieldHTML=a。在递增
a
值后,您必须以某种方式将其值重新分配给
fieldHTML
。在递增
a
值后,必须以某种方式将其值重新分配给
fieldHTML