我有一些行爲不端的VAR範圍以下的js + jQuery代碼...或者至少一個行爲異常的編碼器:-P變量的作用域在JQuery中行爲不端
var lookup_output=""; //believe this makes it a global scope
function lookupWord(word) {
var url = 'http://localhost:3000/jianti/' + word + '.json';
lookup_output = "abc";
$.getJSON(url, function(data){
$.each(data, function(i, word_data){
lookup_output += "<div> trad: " + word_data.fanti + "<br>";
lookup_output += "simp: " + word_data.jianti + "<br>" ;
lookup_output += "pinyin: " + word_data.pinyin + "<br>" ;
lookup_output += "def: " + word_data.def + "<br>" ;
lookup_output += "</div><br>";
alert(lookup_output);
});
});
lookup_output += "123";
return lookup_output;
}
的問題是該行
return lookup_output;
還給
"abc123"
而行
alert(lookup_output);
給
"abc123<div> trad: 交流<br>simp: 交流<br>pinyin: jiāo liú<br>def: exchange/give-and-take/to exchange/to alternate/communication/alternating current (electricity)<br></div><br>"
我想回行給出了相同的輸出...任何想法怎麼樣?我認爲通過將它附加到一個全局變量它會做到這一點,但似乎沒有。
競爭條件?在getjson函數完成之前,返回lookup_output。 – Alex