猿问

简单的javascript length-1的问题,钻胡同里了,出不来,求指教~

是这样的,请看如下代码片段:

var local = [{
        src: '1.jpeg'
    }, {
        src: '2.jpeg'
    }, {
        src: '3.jpeg'
    }, {
        src: '4.jpeg'
    }, {
        src: '5.jpeg'
    }, {
        src: '6.jpeg'
    }];
    
var counter = 0;

btn.onclick = function () {
    if (counter < local.length - 1) {
       console.log(local[counter].src);
       counter ++;
    }
}

counter到第5个的时候就过不去了,是不是条件要这样写counter <= local.length - 1?是这样吗?


叮当猫咪
浏览 658回答 1
1回答

守着一只汪

local.length&nbsp;===&nbsp;6local.length&nbsp;-&nbsp;1&nbsp;===&nbsp;5counter < 5 当然到第五个就过不去了因为 counter 是从 0 开始的,但是当处在第五个的时候,counter 已经 等于 5 了也就是说,counter 不是一个 index,是 index + 1index&nbsp;<&nbsp;length&nbsp;-&nbsp;1index&nbsp;+&nbsp;1&nbsp;<=&nbsp;length&nbsp;-&nbsp;1index&nbsp;+&nbsp;1&nbsp;<&nbsp;length都行建议你不要用那些模糊不清的变量。counter 到底是个啥?当前所处的 index?下一次的 index?var&nbsp;index&nbsp;=&nbsp;-1; btn.onclick&nbsp;=&nbsp;function()&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(index&nbsp;<&nbsp;local.length&nbsp;-&nbsp;1)&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;++index; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;console.log(local[index].src); &nbsp;&nbsp;&nbsp;&nbsp;} };
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答