JavaScript中匿名函数作为包装器的必要性
Necessity of the anonymous function as wrapper in JavaScript
为什么这样做:
$("#oneButton").click(function () {
alert("hello");
});
但这不起作用吗?
$("#oneButton").click(
alert("hello");
);
匿名函数路由给出一个稍后执行的函数。第二个例子仅仅是立即执行代码,从不等待单击事件的发生。
$.fn.click
方法期望以您的名义调用一个函数,该函数将处理未来的单击事件。如果你给它一个数字,一个字符串,或者undefined
,它将不做任何事情。
alert
函数返回undefined
,因此您的第二个示例无非是:
$("#oneButton").click(undefined);
请注意,您不需要使用匿名函数,而且在大多数情况下您可能不应该使用。您可以使用命名函数,这有助于以后的调试:
function handle ( event ) {
alert( "Clicked" );
}
$("#oneButton").click(handle); // or .click(function handle ( event ) { ... });
在本例中,我们将函数引用传递给click事件作为处理程序。现在jQuery知道了我们的函数,它将在#oneButton
上引发click事件时执行它。
相关文章:
- 如何将函数包装在函数中以避免代码重复
- 同位素库错误:未捕获错误无布局模式包装生产线8
- 为什么要包装每一个原型“;类“;JS中具有匿名函数的对象
- 在'物品包装'
- 如何在jQuery中包装两个元素的组
- 如何在包装功能中咕哝concat
- 用类javascript包装span标记中字符串中的字符索引
- 在jquery$({})中包装纯javascript对象
- 从工作日结束到下一个工作日开始的完整日历JS包装时间
- 如何制作href链接和<李>在一个包装中
- jquery在元素中查找文本节点,并使用标记进行连接和包装
- 如何使用图表包装函数有条件地格式化谷歌可视化表单元格
- Cordova包装应用程序内部链接加载在应用程序中,外部链接加载在浏览器中
- 如何在每个动态创建的ImageButton周围包装超链接?Visual Studio
- 使用Javascript设置库中图像包装器的宽度
- 使用服务工作者动态缓存HTTP URL的包装器
- 如何使图像适合TD,而不需要包装在不同的屏幕分辨率上
- 将setTimeout()包装器实现为Element.prototype中的方法
- 如何在输入中选择的文本周围包装html标记
- JavaScript中匿名函数作为包装器的必要性