一个for循环,与else语句一样吗?

时间:2015-07-09 16:05:48

标签: javascript

我有if else语句,我想知道是否可以将其更改为for循环或类似的东西。

if (lastScroll >= 0 && lastScroll < 40) {
    pos = 0;
} else if (lastScroll >= 40 && lastScroll < 80) {
    pos = 1;
} else if (lastScroll >= 80 && lastScroll < 120) {
    pos = 2;
} else if (lastScroll >= 120 && lastScroll < 160) {
    pos = 3;
} else if (lastScroll >= 160 && lastScroll < 200) {
    pos = 4;
} else if (lastScroll > 200) {
    pos = 5;
}

我想改变这个,因为可能有超过100个职位。我正在考虑创建一个这样的for循环:

var i = 0;
greater = 0;
less = 40;
for (i = 0; i < 100; i++) {
    if (lastScroll >= greater && lastScroll < less) {
        pos = i;
        greater += 40;
        less += 40;
    }

}

if else语句完美无缺,但我不想创建100 if else语句。这包含在滚动功能中。

3 个答案:

答案 0 :(得分:4)

因为它是线性的,你可以使用除法和舍入

git pull origin develop

答案 1 :(得分:1)

您不需要循环。您可以执行以下操作:

if( lastScroll > 200 ) {
    pos = 5;
} else if ( lastScroll >= 0 ) {
    pos = Math.floor( lastScroll / 40 );
}

答案 2 :(得分:0)

如果您愿意,可能会废弃所有内容并使用

pos = int(lastscroll / 40);