javascript中闭包的2种经典用法
来源:互联网 发布:淘宝店铺装修轮播 编辑:程序博客网 时间:2024/05/17 03:17
闭包这个东西,网上有很多介绍资料。个人看了很多,还是一知半解。这里不做理论介绍,直接给出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>
0 0
- javascript中闭包的2种经典用法
- Javascript一些用法(经典)
- 55个javascript经典用法
- 55个javascript经典用法
- hashtable的经典用法
- history 的经典用法
- cscope的经典用法
- ViewHolder的经典用法
- Jbutton的经典用法
- while的经典用法
- ViewHolder的经典用法
- MySQL的经典用法
- tcpdump 的经典用法
- 经典的JavaScript效果
- javascript 常用经典2
- Mysql 经典的查询用法
- c#反射的用法 经典
- ViewHolder的经典用法<SparseArray>
- 黑马程序员——Java基础语法(一)---关键字、常量、变量、运算符
- 输出10000以内的完数
- VM 性能测试
- VC中的sizeof
- iOS8 UITableView 分割条设置separator intent = 0 不起作用
- javascript中闭包的2种经典用法
- boost::scoped_ptr
- Titanium 画日历
- delphi实现dbgrideh点击列自动排序
- MATLAB bwlabel函数 统计连通区域
- 工作笔记(1)--Android平板禁用虚拟按键
- Tomcat服务器重启小工具—swing
- poj 2553 The Bottom of a Graph 【强连通图中出度为0点】
- Ubuntu中用VirtualBox虚拟机安装Windows XP完整图解