老师检查一下

来源: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的值都不同,最终可以实现代码效果。

如果我的回答帮到了你,欢迎采纳,祝学习愉快~

0

0 学习 · 14456 问题

查看课程

相似问题