问: i 会输出什么?改写成闭包的写法?

<a href="javaScript:void(0)">a</a>
<a href="javaScript:void(0)">b</a>
<a href="javaScript:void(0)">c</a> <script type='text/javascript'>
var arr = document.getElementsByTagName('a');
for(var i=0;i<arr.length;i++) {
arr[i].onclick = function() {
console.log(this + '我是第'+ i +'几个');
}
}
</script>

答:全部输出都是”我是第3个“

闭包写法可解决问题

<a href="javaScript:void(0)">a</a>
<a href="javaScript:void(0)">b</a>
<a href="javaScript:void(0)">c</a> <script type='text/javascript'> var arr = document.getElementsByTagName('a');
for(var i=0;i<arr.length;i++) {
(function(i,v){
v.onclick = function() {
console.log(this + '我是第'+ i +'个');
}
})(i,arr[i])
}
</script>

最新文章

  1. string.join(iterable)
  2. [原]通过配合ffmpeg.exe获取视频文件时长
  3. Android通过xml文件配置数据库
  4. @ResponseBody 返回中文乱码问题解决 spingmvc
  5. Eclipse在线安装ADT插件
  6. NRF51822之动态广播使用
  7. java 考试试题
  8. [转] How to dispatch a Redux action with a timeout?
  9. leetcode第一刷_Interleaving String
  10. LinQ 语法基础
  11. Xcode4.6 自制iOS可用的 Framework
  12. PS2键盘 + LCD12864 实验
  13. jQuery选择器,用逗号分隔的时候需要注意范围问题
  14. ubuntu系统搭建以太坊私有链
  15. 洛谷 [P2774] 方格取数问题
  16. Eclipse多平台编译(armeabi, armeabi-v7a, x86, mips)
  17. Java之hashCode的作用和equals方法的重构规则
  18. Java框架spring 学习笔记(十四):注解aop操作
  19. Decoder is not a @Sharable handler, so can&#39;t be added or removed multiple times
  20. JS小积累(一)— 判断在线离线

热门文章

  1. vue判断图片为空或者图片加载不成功时显示默认图片
  2. 图论 --- 三维空间bfs
  3. Flask源码之:路由加载
  4. Delphi RSA签名与验签【支持SHA1WithRSA(RSA1)、SHA256WithRSA(RSA2)和MD5WithRSA签名与验签】
  5. day01——python初始、变量、常量、注释、基础数据类型、输入、if
  6. 【PYQT5快速开发】重定义边框、QSS美化皮肤主题
  7. 客开监控(BE/UI/BP)插件停用与启用
  8. JMeter安装及简单应用示例
  9. pytest_04_测试用例setup和teardown
  10. 原!linux comm命令文件 比较 输出交集,差集。