使函数global的值在任何其他函数中被调用

时间:2012-02-10 16:48:12

标签: javascript jquery

你好我想将函数的值传递给任何其他函数或使函数的值为全局,以便可以在任何其他函数中调用它。但我知道怎么做,试过一些代码仍然没有成功。

这是功能代码

function newalbum(val1,loginuser)
{

$.ajax({
type:"GET",
url: 'ajax/album.php?val='+val1+'&& loguser='+loginuser,
success: function(data) {
$("#newalbum1").html(data);
        var ab=$('#ab').val();
        var abc=$('#loginuser').val();
        var action=$('#action').val();

alert(ab);
}
});
}

在这个函数中我想把三个变量var ab,var abc,var action设为全局,这样它的值就可以用在任何其他函数中。任何人都可以帮忙吗?

编辑 - var ab,var abc和var action的值是从ajax数据中提取的,这就是我无法直接使用这些变量的原因,如果我直接使用它,则表示未定义。

在函数newalbum中从ajax接收到varibales值之后。我想在

中使用那些varibales
 (function( $ ){
 $.fn.Uploadrr = function( options ) {

3 个答案:

答案 0 :(得分:4)

您可以在全局范围内声明变量,并在varababc变量之前删除action。另一种方法是使用window(全局对象)为变量添加前缀。

方法1:

var ab, abc, action; // In the global scope
...
    ab = ...;        // Inside the function

方法2:

window.ab = $('#ab').val(); // Inside the function

注意:除非你有充分的理由,否则你通常不应该声明全局变量。

答案 1 :(得分:0)

不要直接使用这些变量,为什么不直接使用$('#ab').val()$('#loginuser').val()('#action').val()

答案 2 :(得分:0)

在开始新var之前调用“var”时,它将在内存中寻址新位置。所以,只需在函数外部启动变量,然后像这样访问它们:

var ab, abc, action;

function newalbum(val1,loginuser)
{

$.ajax({
type:"GET",
url: 'ajax/album.php?val='+val1+'&& loguser='+loginuser,
success: function(data) {
$("#newalbum1").html(data);
        ab=$('#ab').val();
        abc=$('#loginuser').val();
        action=$('#action').val();

alert(ab);
}
});
}