Помилка JSLint: “Переміщення виклику в парени, що містять функцію”


74

Що означає JSLint під цією помилкою? І як це слід переписати?

Error: Problem at line 78 character 3: Move the invocation into the parens that contain the function: })(jQuery);

Відповіді:


119

Щоб передати критерії JSLint, його потрібно написати так:

}(jQuery));

Хоча я думаю, що конкретні критерії трохи суб'єктивні. На мій погляд, обидва шляхи здаються прекрасними.

(function () {})() для мене має трохи більше сенсу, оскільки ви обгортаєте повну функцію, а потім викликаєте її

(function () {}()) схоже, ви обгортаєте результат виклику функції в паренсу ...


17
Яка мотивація JSLint для цього?
Guffa,

1
Чи можу я запитати, чому? Більшість сценаріїв у jQuery мають такий формат у запитанні.
pimvdb

1
@Guffa + @pimvdb - не впевнений. Крокфорд зазвичай трохи розширює цю сторінку , але про це не згадує.
Matt


1
jslinterrors.com/… (не написано Дугласом) каже, що це просто (відсутність) конвенція
Джерон Верстег,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.