事件处理程序绑定到匿名函数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内部的命名函数完全相同吗?
谢谢。
不会有任何明显的性能差异。
一个主要区别是,使用命名函数,您还可以选择性地取消绑定函数,而不仅仅是与事件类型关联的所有函数。
当然,这也可以帮助您避免代码重复。