首页 > 编程 > JavaScript > 正文

JS中闭包的经典用法小结(2则示例)

2019-11-19 18:13:25
字体:
来源:转载
供稿:网友

本文实例总结了JS中闭包的经典用法。分享给大家供大家参考,具体如下:

闭包这个东西,网上有很多介绍资料。个人看了很多,还是一知半解。这里不做理论介绍,直接给出2个例子。

代码1:记录函数被调用的次数

function a(){  var i = 0;  function b()  {    return ++i;  }  return b;}var c = a();c();//1c();//2

这种方式类似C语言中的private static变量,能够保持局部变量的内存不释放。

代码2:正确给DOM注册事件处理函数

<body>  <input type="button" id="b1" value="1">  <input type="button" id="b2" value="2">  <input type="button" id="b3" value="3">  <input type="button" id="b4" value="4">  <script type="text/javascript">    var buttons = document.getElementsByTagName("input");    for (var i = 0; i < buttons.length; i++)    {      // 方式1:i的值一直是3      //buttons[i].onclick = function() {      // console.log(i + " was clicked.");      //}      // 方式2:从0到3,是我们要的效果      (function(i){        buttons[i].onclick = function() {          console.log(i + " was clicked.");        }      })(i);    }  </script></body>

更多关于JavaScript相关内容可查看本站专题:《javascript面向对象入门教程》、《JavaScript中json操作技巧总结》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结

希望本文所述对大家JavaScript程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表