$ .noop()在jQuery 1.4中的真正用途是什么?

Sam*_*son 46 javascript jquery no-op jquery-1.4

关于jQuery 1.4的发行说明,我来了acrosss $.noop(),它是:

描述:一个空函数.(在1.4中添加)

当你希望传递一个什么都不做的函数时,可以使用这个空函数.

也许我在这里遗漏了一些深刻的东西,但究竟是什么实际使用传递空函数?

代码示例赞赏.

CMS*_*CMS 49

这个功能是由于嵌入式系统在使用$.ajaxjQuery-Dev邮件列表时报告的性能问题而提出的.你可以看到线程.

基本上,他们更喜欢引入和使用这个单独的空函数,而不是在周围声明空的匿名函数.

现在,此函数在ajax,eventoffset模块中内部使用.

您也可以在引入时查看提交.


SLa*_*aks 19

如果你有一个函数接受一个函数作为参数,并且你没有任何代码来提供它,你可以通过 $.noop.

我想不出jQuery中的任何这样的情况,其中参数首先不是可选的.

与写入不同function(){},传递$.noop不会创建新的函数实例,从而节省了一点内存.但是,如果您要传递它以修改函数对象(例如,funcParam.id = 2),则传递$.noop会使事情变得混乱.


Cor*_*rin 9

真实世界的例子(差不多):

jQuery.fn.myAwesomeAjax = function(url, complete) {
  return jQuery.ajax(url || this.url)
    .complete(complete || jQuery.noop);
};
Run Code Online (Sandbox Code Playgroud)

用它代替 function (){}