(Javascript) 猴子也明白 之 闭包超级入门 6 闭包的用途
2012-06-12 01:16
232 查看
闭包有什么用途?
上回说道,闭包是一种能保存状态的函数。利用这个特性,有很多方便的用途。
jQuery与闭包相得益彰
有过jQuery开发经验的童靴都写过下面类似代码吧。 $('#btn').click(function(){
alert('hello');
});
这里为click方法提供了一个匿名函数function(){…}。alert('hello');
});
通过这个匿名函数,闭包派上用场了。
闭包例:防止双击
在线商店的购物车里,为防止“多重购买”,需要防止按钮被双击。下面用“jQuery + 闭包”来实现这一功能。
HTML
<form name="frm" id="frm">
<input type="submit" value="购买" />
</form>
JavaScript<input type="submit" value="购买" />
</form>
$(function(){
var isClicked = false;
$('#frm').submit(function(){ // 为购买按钮提供一个匿名函数,而isClicked是与此匿名函数“生死与共”的变量。
if (isClicked) {
alert('已经下过订单了。');
return false;
}
isClicked = true;
});
});
var isClicked = false;
$('#frm').submit(function(){ // 为购买按钮提供一个匿名函数,而isClicked是与此匿名函数“生死与共”的变量。
if (isClicked) {
alert('已经下过订单了。');
return false;
}
isClicked = true;
});
});
这比起写一个类实现来保持状态容易多了,所以推荐使用“jQuery + 闭包”这个强大组合来实现各种功能。
至此,算是从闭包入门里毕业啦。
最后,非常感谢能坚持阅读完本文,辛苦了♪
相关文章推荐
- (Javascript) 猴子也明白 之 闭包超级入门 4 函数返回函数
- (Javascript) 猴子也明白 之 闭包超级入门 2 函数中的函数
- (Javascript) 猴子也明白 之 闭包超级入门 5 写一个闭包
- (Javascript) 猴子也明白 之 闭包超级入门
- (Javascript) 猴子也明白 之 闭包超级入门 1 问题
- (Javascript) 猴子也明白 之 闭包超级入门 3 匿名函数
- 转:全面理解Javascript闭包和闭包的几种写法及用途
- 全面理解Javascript闭包和闭包的几种写法及用途
- 超级给力的JavaScript的React框架入门教程
- 零基础入门-javascript学习笔记之传说中的闭包
- 当javaScript从入门到提高前需要注意的细节:闭包部分
- java入门笔记三:浅谈JavaScript中的闭包
- 全面理解Javascript闭包和闭包的几种写法及用途
- 全面理解Javascript闭包和闭包的几种写法及用途
- 超级给力的JavaScript的React框架入门教程
- 当javaScript从入门到提高前需要注意的细节:闭包部分
- 网站前端_JavaScript-基础入门.0016.JavaScript匿名闭包
- javascript中的闭包,花了半个小时才搞明白原理
- 全面理解Javascript闭包和闭包的几种写法及用途
- JavaScript 闭包的用途