JS——坑2(函数不调用不执行,闭包)
来源:互联网 发布:2015年淘宝女装排行榜 编辑:程序博客网 时间:2024/05/18 03:41
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title></head><body><button>one</button><button>two</button><button>three</button><button>four</button><script>var btns = document.getElementsByTagName("button");for(var i=0;i<btns.length;i++){btns[i].onclick = function(){ //函数定义alert(i+1); //都是5!!!!!!}}//注:函数不调用不执行!!!!!//解决方案:闭包</script></body></html>
解决:
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title></head><body><button>one</button><button>two</button><button>three</button><button>four</button><script>var btns = document.getElementsByTagName("button");function find(num) { //factoryreturn function(){alert(num+1);}}for(var i=0;i<btns.length;i++){btns[i].onclick = find(i);}</script></body></html>
另外一个例子:
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>Document</title></head><body><script>function fun(){for(var i=0,arr=[];i<3;i++){arr[i] = function(){console.log(i);} //定义函数}return arr;}var funs = fun();console.log(funs);funs[0](); //调用函数 输出3 funs[0] = function(){console.log(i);}funs[1](); //调用函数 3funs[2](); //调用函数 3</script></body></html>
阅读全文
0 0
- JS——坑2(函数不调用不执行,闭包)
- flash调用js函数,IE6不执行的问题
- 在widget.js中很多函数是自动执行的,不调用也会执行
- jsonp 不调用返回函数,,不执行success方法?
- android RecyclerView GridLayoutManager setSpanSizeLookup 不执行(不调用)
- cocos2d-js:调用scheduleUpdate()不执行update()方法的解决办法
- android onDraw 不执行,不调用
- 在 asp.net .cs 文件中调用js注意(asp.net .cs 文件中调用js 不执行)
- onload js函数不执行的原因分析及解决方法
- onload js函数不执行的原因分析及解决方法
- onload js函数不执行的原因分析及解决方法
- 内存泄露——不包含头文件类的析构函数不执行
- js代码不执行问题
- JS学习笔记(五):关于$(function(){});里面的函数不执行问题
- JS闭包、自执行函数小记
- 你不知道的JS读书笔记1—闭包&作用域
- jQuery中的函数不执行
- javascript onclick 函数不执行
- android结构及布局
- 使用 Azure 门户创建 Windows 虚拟机
- 不同时间阶段的seo优化技术侧重点
- .equals() 和==号的区别
- 131. Palindrome Partitioning && 132. Palindrome Partitioning II
- JS——坑2(函数不调用不执行,闭包)
- 目标识别与跟踪基础知识(一)
- 利用osg实现类似3dsMax的四视图效果
- HDU:2017 字符串统计
- 面向对象软件设计模式(1)--单例模式(Singleton)
- 鼠标滚轮事件
- 纪念SlingShot FZU
- FI功能增强业务说明书
- Oracle 11g 移动数据文件路径