[英]How to get variable from within the function?
我正在嘗試在此函數之外訪問myVariable
。 請看下面的代碼:
var myVariable;
function drawBasic(){
...
myVariable = document.getElementById('chart_div3');
var chart = new google.visualization.LineChart(document.getElementById('chart_div'));
google.visualization.events.addListener(chart, 'ready', function () {
chart_div.innerHTML = '<img src="' + chart.getImageURI() + '">';
myVariable.innerHTML = chart.getImageURI();
myVariable = myVariable.innerHTML;
//prints out desired value
console.log(myVariable);
});
//prints out desired value
console.log(myVariable);
...
}
//prints out undefined
console.log(myVariable);
我知道myVariable
是在函數外部定義的,所以我希望它可以在函數內部設置,然后該值可以在其他任何地方使用,但我錯了。 所以我的問題是如何獲取chart.getImageURI()
的值並將其存儲為函數drawBasic
之外的值?
我認為這是因為“ var = myVariable ”中的語法存在問題。 我寫了這個,它工作正常。
var myVariable;
drawBasic();
function drawBasic(){
myVariable = "Test String";
//prints out desired value
console.log(myVariable);
}
//prints out undefined
console.log(myVariable);
您可以將您的 chart.getImageURI() 放在 window.myVariable (始終可訪問)或隱藏表單輸入中,在您的函數中使用 jquery : $("#myHiddenItem").val(chart.getImageURI()) 以及您的位置需要值:$("#myHiddenItem").val()
您的結果undefined
的原因可能是因為您的代碼執行順序:您的最后一個console.log()
在drawBasic()定義之后調用,但可能在drawBasic()執行之前調用。
在函數內部,您可以執行以下操作:
myVariable = chart.getImageURI();
調用函數時將設置全局(因此在任何地方都可讀)變量 myVariable 的值。
執行 drawBasic() 后,myVariable 的值應該是正確的,在函數外部調用時也是如此。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.