0

我正在尝试重写一个插件,以便它通过 JSLint。我在 300 行脚本中写了大约 3 行,但我被困在这里:

   var __slice = [].slice,
       __indexOf = [].indexOf || function (item) {
        var i = 0,
            l = this.length;
        for (i < l) <<<<< this is where the error is
                  {
                    if (i in this && this[i] === item)
                    return i; 
                  }
      i+=1;
      return -1;};

错误是

 "Expected ';' and instead saw ')'.
        for (i < l)

我不确定如何重写它以适应他们的约定。建议?

4

1 回答 1

1

这不是与 JSLint 相关的问题,但您的 for 循环语法不正确。

for 循环的语法如下所示:

for (initialization; condition; increment);

一个例子:

for (var i = i; i < 10; i++)

因此,在您的情况下,您应该使用:

for (; i < L ;)

注意初始化和增量部分的省略。

或者更好的是,使用 while 循环:

while ( i < L )
于 2013-10-12T09:43:02.510 回答