在jQuery UI中使用$ .noop destroy方法

时间:2013-04-15 21:21:24

标签: jquery jquery-ui

jQuery UI实现destroy方法。我不明白在方法开头使用this_.destroy()调用$ .noop的目的:

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

有人可以解释一下吗?

2 个答案:

答案 0 :(得分:2)

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

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

$.noop = function(){};

答案 1 :(得分: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?