2

问题

我正在尝试为对象方法指定选项,其中一个选项是回调函数。我正在使用 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 回答