1

jQuery UI implement destroy method. I don't understand purpose of using $.noop called with this_.destroy() at the beginning of method:

destroy: function() {
    this._destroy();
    //other code here...
    {...}
},
_destroy: $.noop,

Could someone explain it?

4

2 回答 2

2

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

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

$.noop = function(){};
于 2013-04-15T21:39:56.157 回答
1

$.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?
于 2013-04-15T21:26:18.850 回答