0

在 jQuery 中是否可以创建一个设置变量的函数,然后我可以在另一个函数中访问该变量。即我需要一个可以在页面上的任何位置访问的全局变量。

例子

$.fn.getRedemptionID = function(){
  var myVar = data.DATA[0].item1;
}
4

4 回答 4

3

1)全局变量不好。

2) 是的:

// explicit global (preferred)
$.fn.getRedemptionID = function(){
  window.myVar = data.DATA[0].item1;
}

// implicit global
$.fn.getRedemptionID = function(){
  myVar = data.DATA[0].item1;
}
于 2012-09-20T16:02:31.443 回答
0

只需这样做:

var myGlobalVar = null;

$.fn.getRedemptionID = function(){
  myGlobalVar = data.DATA[0].item1;
}

然后您可以在任何地方访问 myGlobalVar :)

于 2012-09-20T16:02:26.417 回答
0

jQuery 仍然是 JavaScript,并且仍然可以像 JavaScript 一样使用。即,如果您在任何块之外声明某些内容,则它是全局的并且可以在任何地方访问。

例如

var global = 42;
$(document).ready(function() {
    global = $('#something').val();
});
于 2012-09-20T16:02:37.660 回答
0

更好的方法是使用闭包,以下列方式保存变量值:

var application = (function(){
    var my_var;

    return {
        get_var: function(){
            return my_var;
        },
        set_var: function(value){
            my_var = value;
        }
    }
})();

application.set_var(34);
application.get_var;

这比使用全局变量要好。

于 2012-09-20T16:15:42.170 回答