如何在jQuery / JavaScript中设置全局变量?

时间:2011-02-04 21:21:31

标签: jquery

我有一个ajax功能:

    $.ajax({
        url: 'http://localhost/process.php',
        type: 'post',
        data: '',
        success: function(output) {

var animal = output

        }
    });

我希望全局设置var animal,这样即使在ajax函数的成功回调之外,我也可以在页面的任何地方调用它。怎么做?

4 个答案:

答案 0 :(得分:5)

在任何函数或jQuery构造之外声明它

var animal = null;

$(function(){
    $.ajax({
        url: 'http://localhost/process.php',
        type: 'post',
        data: '',
        success: function(output) {
            animal = output
        }
    });
});

答案 1 :(得分:2)

如果您希望它是全局变量,则将其声明为全局变量。通常你可以通过

来做到这一点
var animal;

围绕.js文件的顶部。然后,代码中对animal的任何引用都将是全局变量,除非您在范围内的其他位置重用该名称。

答案 2 :(得分:0)

如果您想动态地执行此操作。

jQuery.globalEval()

http://api.jquery.com/jQuery.globalEval/

此方法与使用普通JavaScript eval()的行为不同,因为它在全局上下文中执行(这对于动态加载外部脚本很重要)。

$.globalEval( 'var animal = ' + output );

答案 3 :(得分:-1)

删除var以使变量成为全局变量。

但请注意,使用全局变量通常被视为不好的做法,因为它们很难调试。