Ответ 1
Смотрите этот ответ:
Содержаться с JS ", используемым до определенного" и Titanium Developer
В принципе, если вы используете форму foo = function() { ... }
, вы можете объявить var foo, bar;
вверху, чтобы избежать ошибок JSLint.
Почему JSLint жалуется, если что-то использует функцию, которая еще не определена? Дело в том, что функция определена - и если это что-то вызывает эту функцию, эта функция существует, и все будет работать.
Взгляните на код ниже:
function foo()
{
// calls bar()
};
function bar()
{
// calls foo()
};
Невозможно организовать 2 метода таким образом, чтобы это сделало JSLint счастливым. Как мне решить эту проблему?
Смотрите этот ответ:
Содержаться с JS ", используемым до определенного" и Titanium Developer
В принципе, если вы используете форму foo = function() { ... }
, вы можете объявить var foo, bar;
вверху, чтобы избежать ошибок JSLint.
JSLint не может справиться с этим, насколько я знаю, но JSHint, основанный на JSLint, решает эту проблему надлежащим образом.
Просто используйте свойство latedef и установите значение "false". В случае, если вы все же хотите определить эти типы проблемных определений переменных, но хотите использовать выражения функций и разрешить подъем этих функций, вы можете установить "latedef": "nofunc".
Отметьте здесь.