2012-11-16 63 views
0

一個變量我有這個功能(我沒有寫):走出從一個JavaScript函數

<script> 
     ab(function(r) { 
     var field_number = r.get('field_number'); 
     alert(field_number); 
     }); 
    </script> 

警報工作正常,所以field_number是正確的,但文件撰寫不起作用。我需要提取功能之外field_number的價值,使之在HTML中的其他部分:

<script>document.write(field_number);</script> 

我怎樣才能得到它呢? 謝謝。

+0

依賴。 「ab」做什麼? 'ab'是你可以修改的功能嗎?有沒有理由不在回調中使用'field_number'? –

+0

我無法修改它。我只是可以得到field_number(如果我知道如何!) –

+0

'ab'做什麼?有沒有理由不在回調中使用'field_number'? –

回答

0

如果不是異步調用的ab()您可以設置全局變量:

<script> 
     var field_number=""; 
     ab(function(r) { 
     field_number = r.get('field_number'); 
     alert(field_number); 
     }); 
     // you can use variable here 
    </script> 

或者你也可以從函數返回,並賦給變量,然後使用它。

+0

這不起作用:var field_number; (函數(r){field_number = r.get('field_number'); alert(field_number);}); document.write(field_number);'它正在寫入「Undefined」,但alert會輸出正確的值。 –

+0

函數以外的警告而不是document.write() –

+0

如果有回調,他們很可能''ab'做了一些異步代碼,所以變量在'ab'調用後仍然是'undefined'。 –

0

最簡單,最好的辦法是:

<script> 

var a=""; //global variable 

    function process() 
    { 
     a=1; 
    process_another(a) //another function in which you want the value of a 

    } 

    function process_another(a) 
    { 
     alert(a); //value of a will be shown: 1 as it was in function process() 
     } 
      </script> 
相關問題