Javascript 我如何在函数中设置一个var,并使它在所述函数之外保持不变?
我想基于单击设置一个变量,然后基于另一次单击增加该变量Javascript 我如何在函数中设置一个var,并使它在所述函数之外保持不变?,javascript,Javascript,我想基于单击设置一个变量,然后基于另一次单击增加该变量 $("#set-1").click(function() { var x = 1; }); $("#set-2").click(function() { var x = 2; }); $("#set-3").click(function() { var x = 3; }); //... $("#increment").click(function() { x = x + 1; }); 但是当我点击#increment,x不
$("#set-1").click(function() {
var x = 1;
});
$("#set-2").click(function() {
var x = 2;
});
$("#set-3").click(function() {
var x = 3;
});
//...
$("#increment").click(function() {
x = x + 1;
});
但是当我点击
#increment
,x
不再被定义。如何使它保持定义状态,即使在定义它的函数之外?只需在外部声明它:
varx;
$(“#set-1”)。单击(函数(){
x=1;
});
$(“#set-2”)。单击(函数(){
x=2;
});
$(“#set-3”)。单击(函数(){
x=3;
});
$(“#增量”)。单击(函数(){
++x;
});
varx;
$(“#set-1”)。单击(函数(){
x=1;
});
$(“#set-2”)。单击(函数(){
x=2;
});
$(“#set-3”)。单击(函数(){
x=3;
});
$(“#增量”)。单击(函数(){
++x;
});
$('body')。单击(函数(){
$('#x')。文本(x);
});代码>
设置x=1
设置x=2
设置x=3
增量x
x=未定义
,但当我单击#increment时,x被设置为1,无论我之前单击了什么#set-x div。@JoeMorano只在外部声明x
,而不是在内部和外部声明。否则,本地的x
将与外部的不同。@JoeMorano您可以使用var x代码>。那么它的值将是未定义的
。但是,如果在设置任何值之前单击“增量”,则undefined+1
将再次生成NaN
@JoeMorano:仅在外部声明x
,而不是在内部和外部声明。否则,本地x
将与外部不同。