老师检查一下
来源:4-5 编程练习
未来it界的一枚程序媛
2020-02-19 17:51:29
<!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');
var click =function(m){
btns[m].onclick = function(){
alert(m+1);
}
}
for(var i=0;i<btns.length;i++){
click(i);
}
</script>
</body>
</html>
老师,就是我写完虽然实现效果了,但是还是有点混乱
这里,就是循环一次,就给函数里传一次值,直到传完,可以这样理解吗
1回答
好帮手慕码
2020-02-19
同学你好,效果正确。这么理解也是可以的,另可以简单理解为:
循环中的click(i)是调用本函数。传递的参数是i(也就是m),这里的i是循环的变量,也就是0,1,2这些值,每循环一次,调用一次函数,传递的这个值,就在调用的这个函数的作用域内有效。所以每次i的值都不同,最终可以实现代码效果。
如果我的回答帮到了你,欢迎采纳,祝学习愉快~