<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>变量、作用域</title> </head><body> <button>1</button> <button>2</button> <button>3</button> <script type="text/javascript">// var btns = document.getElementsByTagName('button');// for (var i = 0; i < 3; i++) {// btns[i].onclick = function () {// alert(i + 1);// };// }//在此处修改代码 var btns = document.getElementsByTagName("button"); for(var i = 0,len = btns.length;i < len;i++){; myChange(i); } function myChange(i){ btns[i].onclick = function(){ alert(i + 1); } } </script></body></html>
1 回答
第二钢协
TA贡献29条经验 获得超5个赞
// 你的所有变量全是用 var 和 function 定义的,所以存在变量提升 // 1. 变量提升(将所有变量的声明提升到当前作用域最前面): // var btn; // function myChange; // 2. 执行: // btn = document.getElementsByTagName("button"); // for (var i = 0, len = btns.length; i < len; i++) { // myChange(i); // }
- 1 回答
- 0 关注
- 673 浏览
添加回答
举报
0/150
提交
取消