为什么index的值等于数组长度的时候,循环定时器会不能运行?

<head>

<meta charset="UTF-8">

<title></title>

<script>

window.onload = function(){

var imgArr=["img/1.jpg","img/2.jpg","img/3.jpg","img/4.jpg","img/5.jpg","img/6.jpg"];

 var index=0;

 setInterval(function(){

       var img = document.getElementById('img');

       index++;

       if(index = Array.length){

    index = 0;

      }

      img.src=imgArr[index];

  },1000)

}

</script>

</head>

<body>

<img src="img/1.jpg" alt="" id="img"/>

</body>

问题:为什么只有当我设置index>=imgArr.length的时候,循环定时器才能正常运行?当我设置index=imgArr.length的时候,循环定时器不能运行?

慕码人0004322
浏览 2171回答 5
5回答

黄二狗V

比较符 用==哦。 另外注意,数组下标从0开始,不要越界取值。

Jonas1995

if(index = Array.length)这句是赋值,不是判断,要写两个==

qq_pur_0

if(index = Array.length)改为if(index == Array.length)

sunyaox

把换成   ==  试试

zzZerOrz

如果index=imgArr.length这句img.src=imgArr[index];就数组角标越界了
打开App,查看更多内容
随时随地看视频慕课网APP