2012-07-27 76 views
0

我有一個全局變量a,我在函數內部使用它併爲它賦值。當我在函數外使用這個變量時,它給了我undefined函數內部的JavaScript全局變量定義

例如:

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 
} 
+0

安慰變量之前,你需要調用的函數,my_func,並將();直到那麼var a將是未定義的。 – Shreedhar 2012-07-27 18:46:48

回答

3

你應該調用函數my_func日誌前:

var a; 
function my_func(){ 
    a=5; 
} 
my_func();  //<-- here 
console.log(a); 
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()​​​