помощь в устранении ошибок jslint - PullRequest
0 голосов
/ 28 июля 2011

Я получаю некоторые ошибки через jslint, с которыми мне нужна помощь:

  1. Плохое побег:

    заменить ('/ [^ a-zA-Z0-9ñÑáÁéÉíÍóÓúÚüÜ¡¿ \ s + {0}] / g', '')

  2. Пустой блок:

    $ ('# myElement'). Keydown (функция (событие) { if (allowAlphaNumeric (event)) { } });

  3. Неожиданное использование '|'

    return (((1 + Math.random ()) * 0x10000) | 0) .toString (16) .substring (1);

У кого-нибудь есть идеи, как мне их решить?

1 Ответ

1 голос
/ 28 июля 2011

Bad Escapement:

Вы даете replace строку, содержащую литерал регулярного выражения.Вы почти наверняка захотите сделать его буквальным регулярным выражением:

replace(/[^a-zA-Z0-9ñÑáÁéÉíÍóÓúÚüÜ¡¿\s+{0}]/g, '')

Это, безусловно, тот случай, если рассматриваемый replace равен String#replace, что, я полагаю, так и есть.Если это что-то еще (было бы полезно это знать), и вы действительно хотите, чтобы это была строка, то просто убедитесь, что вы удвоили все обратные слеши в строке - \s не является допустимым экранированием строки, этоконструкция регулярного выражения.Таким образом, вы захотите \\s, чтобы строка в конце содержала \, за которым следует s.Но, опять же, я думаю, что вы хотите, чтобы литерал (где вы не сделали бы этого сделать).

Пустой блок:

Поместите что-нибудь в блок:

$('#myElement').keydown(function (event) { if (allowAlphaNumeric(event)) { } });
//                                                  here -----------------^

Неожиданное использование '|'

return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);

Это прекрасно мне подходит синтаксически (логически, см. Примечание ниже), так как вы действительно хотите, чтобы там был побитовый оператор,Просто я не понимаю твоих намерений.

Но, хм, x | 0 не то же самое, что x?Не могли бы вы просто удалить это?

...