ホームページ > 記事 > ウェブフロントエンド > JavaScript コールバック関数の変数スコープに関するディスカッション_JavaScript スキル
1. 背景
Javascript のコールバック関数については誰もがよく知っていると思います。最もわかりやすい例は、Ajax リクエストを行うときに提供されるコールバック関数です。
実際には、DOM ノードのイベント処理メソッド (onclick、 ondblclick など)これもコールバック関数です。
DWR を使用する場合、コールバック関数は次のように最初または最後のパラメータとして指定できます:
JScript code function callBack(result){ } myDwrService.doSomething(param1,param2,callBack);//DWR 推奨method //or myDwrService.doSomething(callBack,param1,param2);
2. 問題の説明
最近 Dojo Dwr を使用しているときに、次の問題が発生しました。
コールバック関数が A メソッドに属している場合オブジェクト (obj1 として記録) に対して、DWR がコールバック関数を実行すると、
コンテキストは obj1 ではありません。
この現象は、コールバック関数でアクセスされる obj1 のプロパティが未定義であるということです。
バージョン: Dojo1.3.1 および dwr2
3. 問題をシミュレートするコード
次のテスト コードでこの問題をシミュレートできます:
JScript コード