2013-10-12 4 views
0

Я пытаюсь переписать плагин так, что она будет проходить JSLint я около 3 строки в сценарии в 300 линий, и я застрял здесь:JSLint ошибки:. "

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) 

Я не уверен, как переписать это в соответствии со своими конвенциями. предложения?

+0

'для (; г <л;)' - https://developer.mozilla.org/en-US/docs/Web/JavaScript/ Ссылка/Заявления/для –

ответ

1

Это не проблема, связанная с JSLint, но ваш синтаксис петли неверен.

Синтаксис для цикла выглядит следующим образом:

for (initialization; condition; increment); 

пример:

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

Таким образом, в вашей ситуации вы должны использовать либо:

for (; i < L ;) 

Обратите внимание на опуская из инициализация и приращение.

Или еще лучше, использовать время цикла:

while (i < L) 
+0

Спасибо. Я случайно потрогал его, пытаясь удержать JSLint в отношении ранних ошибок. Переписал в соответствии с этим полезным руководством и перешел к новым ошибкам: http://www.impressivewebs.com/javascript-for-loop/ – Ila

+0

@Ali Добро пожаловать. Кусок советов всегда старается сделать сначала работу с кодом, а затем попытаться оптимизировать его и очистить. Со временем вы приобретете опыт, и ваш код будет оптимизирован с самого начала. –

+0

JSLint не принимает форму 'for (; i peterflynn

Смежные вопросы