jquery のデフォルトの非同期実行により、グローバル変数の無効な変更の問題が発生する

jquery ajax メソッドを呼び出すとき、メソッドが値を返したり、グローバル変数に値を代入したりする必要がある場合がありますが、プログラムの実行後に必要な値が取得されないことがわかります。次に例を示します。

var i=0;//定义一个全局全量
$.get(url,function(data){
    i=9;
})//然后调用jquery的一个函数
alert(i);//得到的是0而不是9

data 内のデータは非同期で取得されます。ページロード時にグローバル環境のコードが実行されます。この時点では、非同期データの取得が完了していないため、値を取得できません。

解決:

jQuery を購読