设置全局变量并在jquery / javascript中访问它

时间:2013-03-28 01:48:52

标签: javascript jquery variables global-variables

我在创建全局变量时遇到问题,并通过jquery重置它。这是我的代码

var x = 1;
$(document).ready(function () {
    $("#button").click(function () {
        if(x === 1) {
            alert("test1");
            var x = 2;
        } else if(x === 2) {
            alert("test2");
            var x = 3;
        } else {
            alert("test 3");
        }
    });
});

我希望能够点击相同的按钮三次并显示所有测试,但它会直接转到最后一个选项"test 3"。如果这是一个愚蠢的问题我很抱歉,但我对jquery和javascript有点新鲜。

1 个答案:

答案 0 :(得分:3)

只需从click事件回调中的变量赋值中删除var即可。 var使变量本地变为该范围/闭包。

 if (x === 1) {
      alert("test1");
      x = 2;
  }
  else if (x === 2) {
      alert("test2");
      x = 3;
  }
  else {
      alert("test 3");
  }

作为一个侧点,第一个var不是必需的,var x = 1x = 1在代码不在闭包/函数中时会做同样的事情。他们所做的就是分配window.x = 1