Javascript全局变量问题

时间:2012-07-28 10:39:59

标签: javascript jquery

下面的代码段没有告诉我控制台中显示的全局var id的值。我哪里错了?

var id;

function set_id(myid){
 id=myid;
}

function get_id(){
 return id;
}

$("#btn").click(function(){
 $.post("....", function(data){ //data reurns a JSON
  set_id(id); //success!!
 }
}

$("#show").click(function()[
 console.log(get_id()); //doesn't work, how do I get this workin.. Where am I going wrong
}

3 个答案:

答案 0 :(得分:3)

为什么要使用全局变量和getter / setter?您可以在GLOBAL:

之外的任何地方进行设置
id = x;

并随处获取:

x = id;

所以你的代码是:

$("#btn").click(function() {
    $.post("....", function(data) {
        id = data.id;
    });
});

$("#show").click(function() {
    console.log(id);
});

答案 1 :(得分:1)

这段代码对我来说很可疑:

$("#show").click(function()[
   console.log(get_id()); //doesn't work, how do I get this workin.. Where am I going   wrong
}

也许你的意思是:

$("#show").click(function(){
   console.log(get_id());
});

答案 2 :(得分:0)

你的语法错了。在console.log之前的[