使用$.jQuery UI中的destroy方法



jQuery UI实现destroy方法。我不明白使用$的目的。

方法开头用this_.destroy()调用noop
destroy: function() {
    this._destroy();
    //other code here...
    {...}
},
_destroy: $.noop,

有人能解释一下吗?

在jQuery 1.9中,添加了_destroy方法,这样小部件就不必调用基本的destroy方法了。http://bugs.jqueryui.com/ticket/5056

由于该方法是可选的,因此默认定义为$.noop,定义为

$.noop = function(){};

$.noop只是一个占位符函数。在javelin.js (facebook的javascript库)中,它被称为"袋子"。有各种各样的用法,有时显式传递一个不做任何事情的函数比不传递任何东西更有意义。

想想我用这个例子的意图。

$.ajax({
    url: 'something.asmx',
    success: $.noop,
    error: $.noop,
    complete: $.noop
});

显然,这样做的唯一目的是将数据发送到服务器并忽略所有可能的场景。将此与下面的意图不明确的语句进行比较。

$.ajax({
    url: 'something.asmx'
});
// future developer thinks, "hey, should this require some callback?

最新更新