2012-06-04 40 views
-3

我寫了一個非常簡單的java腳本代碼。我想使用本地函數來更改全局變量的值。我想當我打電話value1()功能比輸出應該是「2」。我如何執行此操作在java腳本中使用本地函數更改全局變量值

var xhr=1; 
alert(xhr); 

function vari(){ 
    xhr=2; 
    alert(xhr); 
} 

function value1(){ 
    //here the value should be 2 
    alert(xhr);  
} 
+0

嘗試'window.xhr = 2;' – Stefan

回答

2

您的代碼正常工作!你不得不調用vari(),但你知道,對吧?如果你不調用改變值的函數,你不能指望變量發生變化!

+0

沒有答案的Userful – StaticVariable

+2

當你調用'VARI()''前值1()',它的作品!如果嘗試時它不起作用,那麼你做錯了什麼。順便說一句,不是一個有用的評論! – Amberlamps

0

xhrvalue1()函數的值將是2只有如果你已經叫vari()

+0

我稱之爲vari(),但其值仍爲1 – StaticVariable

+1

不,它不是:http://jsfiddle.net/rttgE/ – lanzz

0

從給定的場景中,我認爲你在致電vari()之前致電value1()函數。 這就是爲什麼你得到1作爲輸出。

試試下面的代碼

 var xhr=1; 
     alert(xhr); 
     function vari(){ 
      xhr=2; 
       alert(xhr); 
     } 

     function value1(){ 
      //here the value should be 2 
       alert(xhr);  

     } 
     window.onload = vari(); 
     window.onload = value1(); 
相關問題