JS中闭包的经典用法小结(2则示例)
2016-12-28 10:07
591 查看
本文实例总结了JS中闭包的经典用法。分享给大家供大家参考,具体如下:
闭包这个东西,网上有很多介绍资料。个人看了很多,还是一知半解。这里不做理论介绍,直接给出2个例子。
代码1:记录函数被调用的次数
function a() { var i = 0; function b() { return ++i; } return b; } var c = a(); c();//1 c();//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程序设计有所帮助。
您可能感兴趣的文章:
相关文章推荐
- Android编程下拉菜单spinner用法小结(附2则示例)
- js闭包示例
- Js(JavaScript)中,弹出是或否的选择框示例(confirm用法的实例分析)
- js中对象的声明方式以及数组的一些用法示例
- js setTimeout opener的用法示例详解
- 常用的JS与XML结合用法 简单示例
- js中substr,substring,indexOf,lastIndexOf的用法小结
- js闭包示例
- Js(JavaScript)或LigerUi中,弹出是或否的选择框示例!(confirm用法示例)
- js中for in的用法示例解析
- asp.net(c#) static关键字用法小结+示例代码
- JavaScript封装的常用工具类库bee.js用法详解【经典类库】
- js基础:window.moveTo()函数用法示例
- js经典闭包问题
- js闭包示例
- JS Cookies用法示例:记事贴
- JS 获取浏览器窗口大小--获取屏幕、浏览器、网页高度宽度及经典示例
- js闭包理解实例小结
- js中substr,substring,indexOf,lastIndexOf的用法小结