2

問題

オブジェクト メソッドのオプションを指定しようとしていますが、オプションの 1 つがコールバック関数です。jQueryextendメソッドを使用してデフォルト値をオプション パラメータに適用していますが、コールバック パラメータにどの値を設定すればよいかわかりません。

これは私が現時点で持っているものです:

var options = $.extend({
    wrapper:    '#wrapper', // Define the default wrapper to prepend to
    fade:       true, // Fade the overlay by default
    callback:   function(){} // Define the callback function
},options);

質問

上記は、コールバックにデフォルト値を割り当てるための最良の方法ですか? それとも、false に設定した方がよいでしょうか? options.callback()コールバックを false に設定して電話をかけようとすると、エラーが発生するのではないでしょうか?

4

2 に答える 2

3

非関数のデフォルトを設定するには、呼び出しの前に明示的なチェックが必要です。

空の関数を使用すると、それを呼び出すオーバーヘッドが必要になります(最小限ですが)

正しい方法はありません。それは完全にあなた次第です。空の関数を使用する場合は、 を使用$.noopして既存の関数を再利用できます。

var options = $.extend({
    wrapper:    '#wrapper', // Define the default wrapper to prepend to
    fade:       true, // Fade the overlay by default
    callback:   $.noop // Define the callback function
},options);
于 2012-10-29T14:47:26.433 に答える
1

jQuery には、 $.noopと呼ばれる何もしない組み込み関数があります。

于 2012-10-29T14:47:27.913 に答える