1

これが問題だと思います。

私はいくつかのオブジェクトを持っています:

(function(){

  var call_new_function  = function(){
  // do some stuff: but this is function is undefined when called from callback

  }


   var someObject = new Thing();
   $(some_ele).click(function(){
      var _this = this;
      someObject.doSomething({
       // some values are set up

      },
     callback: call_new_function.call(_this)  <-- this throws an error of undefined
   )
  });

})

私の気持ちはここでは範囲外です: call_new_function 。これは閉鎖の問題ですか?

4

1 に答える 1

2

に機能を提供しているとは思いませんcallback。関数をすぐに実行し、その値を に返しますcallback

おそらくやりたいことはcall_new_function.call(_this);、コールバックで実行することです。したがって、次のように無名関数でラップします。

callback: function() {
    call_new_function.call(_this);
}
于 2013-08-05T19:36:27.887 に答える