Что означает «плохой побег» JSLint в этом случае? - PullRequest
1 голос
/ 08 апреля 2010

Я думаю, что "плохой спуск" означает неправильное использование с косой чертой.

Почему JSLint выводит сообщение в этой функции на 3-й строке (для ...)?

  function splitTags(commaSeparated) {
    var tagArray = commaSeparated.split(','); 
    for (var i=(tagArray.length) - 1; i>=0; i = i - 1 ){
      tagArray[i] = f.trim(tagArray[i]);
    }    
    return tagArray;
  }
  f.splitTags=splitTags;

Редактировать: Я изменил "i--" на "i = i-1" и опубликовал измененную версию выше.

Линт жалуется на символ 30, который является первым знаком минус.

Edit2: После этого изменения он больше не жалуется. Новая версия, которая работает:

  function splitTags(commaSeparated) {
    var tagArray = commaSeparated.split(',');
    var startWith = tagArray.length - 1; 
    for (var i=startWith; i>=0; i = i - 1 ){
      tagArray[i] = f.trim(tagArray[i]);
    }    
    return tagArray;
  }
  f.splitTags=splitTags;

Странно. Я на самом деле использую JSLint multi: http://ajaxian.com/archives/jslint-multi

Так что это не решено, но у меня есть обходной путь. Но было бы неплохо получить реальный ответ, у меня еще много таких частей кода.

Ответы [ 2 ]

0 голосов
/ 28 апреля 2010

Я думаю, что из решения, которое я разместил в Редакторе вопроса, JSLint multi совсем не нравится ключевое слово length в строке для .

Не использовать длина есть, но вычислите ее в предыдущей строке и используйте переменную.

Правило, заставляющее JSLint multi не жаловаться.

0 голосов
/ 08 апреля 2010

На странице JSLint :

JSLint ожидает, что + не будет сопровождаться + или ++ и что - не будет сопровождаться - или -Неправильное пространство может превратить + + в ++, ошибку, которую трудно увидеть.Используйте паренсы, чтобы избежать путаницы ..

...