4-5练习
来源:4-5 编程练习
hope是希望的意思啦
2018-03-13 18:02:02
我按照问答里其他前辈说的方法用匿名函数写,为什么一打开页面就自动alert出了1、2、3。请问这个方法是我哪儿写错了吗?
<!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);
})(i);
}
</script>
</body>
</html>
1回答
上面的写法还是会在i在循环完成的时候被赋值成了3,当循环完后再去点击每个按钮,还是打印的是4,因为你alert(i+1)了
可以参考下面的代码。
祝学习愉快!
相似问题