函数内的JavaScript全局变量定义

时间:2012-07-27 18:42:38

标签: javascript

我有一个全局变量a,我在函数内部使用它并为其赋值。当我在函数外使用此变量时,它会给我undefined

例如:

var a;
function my_func(){
  a=5;
}
console.log(a); //outputs undefined, how do I get the value 5 here

为什么我得到undefined而不是5


它解决了我的问题。

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
}

2 个答案:

答案 0 :(得分:3)

你应该在日志之前调用函数my_func

var a;
function my_func(){
  a=5;
}
my_func();      //<-- here
console.log(a);

答案 1 :(得分:0)

var a;

function my_function1() {
    return 5;
}

function my_function2() {
    a = 5;
}

/* Either of these options below will work to change the value of "a" to 5*/

// a = my_function1()
// my_function2()​​​