美文网首页
利用Js闭包实现点赞

利用Js闭包实现点赞

作者: 老衲灬 | 来源:发表于2018-08-15 12:07 被阅读30次

    代码如下:

    <body>
        <input type="button" value="赞(0)"><br>
        <input type="button" value="赞(0)"><br>
        <input type="button" value="赞(0)">
    </body>
    <script type="text/javascript"> 
        //定义一个函数形成闭包,zanAdd函数内的fn函数作为点赞事件绑定的函数
        function zanAdd(){  
            var n = 0;  
            var fn = function(){
                return this.value="赞("+ ++n+")";
            }
            return fn;
        }
    
        //获取节点对象
        var inp = document.getElementsByTagName("input");
        //循环绑定点击事件
        for(var i=0;i<inp.length;i++){
            var fn = zanAdd()
            inp[i].onclick = fn;
        }
    
        /*
            此段代码供加深理解:
            var a = zanAdd();
            console.log(a());   //赞(1)
            console.log(a());   //赞(2)
            console.log(a());   //赞(3)
    
            var b = zanAdd();
            console.log(b());   //赞(1)
            console.log(b());   //赞(2)
            console.log(b());   //赞(3)
        */
    </script>
    

    相关文章

      网友评论

          本文标题:利用Js闭包实现点赞

          本文链接:https://www.haomeiwen.com/subject/bsoibftx.html