dom啦 循环索引同步练习

2020-10-28 10:43:09 浏览数 (1)

代码语言:javascript复制
<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>
<button>我是按钮1</button>
<button>我是按钮2</button>
<button>我是按钮3</button>
<script type="text/javascript">
	/* for(var i = 0; i < 3; i  ){ // 0 1 2 3
        function test() {
            console.log(i); // 3
        }
    }//先执行完这个循环完在执行test函数.
    test();*/
    /*let oBtns = document.querySelectorAll("button");
    for(var i=0;i<oBtns.length;i  )
    {
    	let btn=oBtns[i];
    	btn.οnclick=function()//先执行完循环再执行函数
    	{
    		 console.log(i);
    	}
    }*/
    /*for(var i=0;i<3;i  )
    {
    	(function test(index)
    		{
  console.log(index);
    		})(i);
    }*/
   var oBtns = document.querySelectorAll("button");
    for(var i = 0; i < oBtns.length; i  ) {
        let btn = oBtns[i];
        (function test(index) { // var index = i;
            // console.log(index); // 0 1 2
            // 注意点: onclick对应的方法由于满足了闭包的条件, 所以onclick对应的方法也是一个闭包
            btn.onclick = function () {
                console.log(index);
            }
        })(i);
    }
</script>
</body>
</html>

核心:为什么有012,因为不会释放,找对应的值就行了

dom

0 人点赞