您的位置:首页 > Web前端 > JavaScript

(Javascript) 猴子也明白 之 闭包超级入门 6 闭包的用途

2012-06-12 01:16 232 查看

闭包有什么用途?

上回说道,闭包是一种能保存状态的函数。

利用这个特性,有很多方便的用途。

jQuery与闭包相得益彰

有过jQuery开发经验的童靴都写过下面类似代码吧。

$('#btn').click(function(){
  alert('hello');
});

这里为click方法提供了一个匿名函数function(){…}。

通过这个匿名函数,闭包派上用场了。

 

闭包例:防止双击

在线商店的购物车里,为防止“多重购买”,需要防止按钮被双击。

下面用“jQuery + 闭包”来实现这一功能。

 

HTML

<form name="frm" id="frm">
  <input type="submit" value="购买" />
</form>

JavaScript

$(function(){

    var isClicked = false;

    $('#frm').submit(function(){ // 为购买按钮提供一个匿名函数,而isClicked是与此匿名函数“生死与共”的变量。
        if (isClicked) {
            alert('已经下过订单了。');
            return false;
        }

        isClicked = true;
    });

});

 

这比起写一个类实现来保持状态容易多了,所以推荐使用“jQuery + 闭包”这个强大组合来实现各种功能。

 

至此,算是从闭包入门里毕业啦。

最后,非常感谢能坚持阅读完本文,辛苦了♪
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: