Lhankor_Mhy回答ポイント 100ptウォッチ 1

javascriptの質問です。

 
オブジェクトのメソッドからそのオブジェクトのメソッドを呼び出したい時に、コールバック関数を使う時などのthisが使えない場合について。
以下のような、thisを退避する書き方しか思いつかなかったのですが、もっとスマートな書き方はありますか?
 
a = new f1();
function f1(1){
 var self = this;
 this.sum = function(i){return i+1};
 this.op = function(i){
  return f2(i,function(j){
   return self.sum(j); //this.sumだとエラーになってしまう。
  })
 }
}
function f2(i,func){
 return func(i)
}
alert(a.op(1));

※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。
ログインして回答する

みんなの回答

この質問へのコメント

コメントはありません

この質問への反応(ブックマークコメント)

質問の情報

登録日時
2008-03-08 19:30:10
終了日時
2008-03-10 20:34:06
回答条件
1人1回まで

この質問のカテゴリ

この質問に含まれるキーワード

JavaScript2781F1160関数2326メソッド515オブジェクト658

人気の質問

メニュー

PC版