事件处理程序绑定到匿名函数vs命名函数

我知道.on()存在jQuery,并且将来不应该使用.bind() ,因为我的jQuery版本大于或等于1.7。

我想知道的是:使用.bind()将匿名函数或命名函数附加到事件处理程序之间是否有任何区别?

例:

 // Anonymous function $(".warning").bind("click", function(){ alert("Hello"); }); // Named function $(".warning").bind("click", foo); function foo(){ alert("Hello"); } 

想象一下,我的页面中有100个div和类warning 。 函数.bind()会将一个新函数附加到具有匿名函数的每个处理程序,但是它与JavaScript和jQuery内部的命名函数完全相同吗?

谢谢。

不会有任何明显的性能差异。

一个主要区别是,使用命名函数,您还可以选择性地取消绑定函数,而不仅仅是与事件类型关联的所有函数。

当然,这也可以帮助您避免代码重复。