浅谈javascript闭包的重要性

首先看没有闭包的代码

<input type="button" value="测试" onclick="check_btn()"/>
<script type="text/javascript">
    function check_btn()
    {
        alert('1');
    }
</script>

点击按钮,弹出对话框1,没有问题


但是,如果我们在浏览器的开放工具上面修改了这个方法,

浅谈javascript闭包的重要性_第1张图片

此时,我们如果再点击按钮,弹出的对话框显示的是2

客户端将会随意更改事件行为,后果将不堪设想


使用可以解决这个问题,做法如下

<input type="button" id="test_btn" value="测试" />
<script type="text/javascript">
    (function(){
        $("#test_btn").click(function(){
            alert('1');
        });
    })();
</script>




你可能感兴趣的:(浅谈javascript闭包的重要性)