1

私はこのようなコードに出くわしました

if (options.callback) 
    { options.callback; }

これは正しくありませんよね?オプションは、「コールバック」というタイトルの属性を持つオブジェクトです。コールバックを実行するには、options.callback(); が必要になります。または、何らかの形でオブジェクトの属性である場合、コールバックを実行する方法はありますか?

上記のコードが正しい場合、実行するにはコールバック プロパティに何を追加すればよいですか?

4

2 に答える 2

0

コールバック関数が getter メソッドとして定義されている可能性があります。

options.__defindeGetter__("callback", function() {
    // code of callback routine
}

そのため、値のコールバックが要求されたときに関数が実行されます。__defineGetter__は非標準の拡張機能であり、MDN によって廃止予定としてマークされているため、通常は使用しないでください。

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Object/defineGetter

于 2012-09-08T12:58:53.183 に答える
0

何も役に立たないので、バグに違いありません。

何かを実行できる唯一の方法callbackは、getter の場合でしたが、その場合は 2 回呼び出され、意味がありません。

于 2012-09-10T11:57:19.840 に答える