JSLint-Fehler: "Verschieben Sie den Aufruf in die Parens, die die Funktion enthalten."

74

Was bedeutet JSLint mit diesem Fehler? Und wie soll es umgeschrieben werden?

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

Sam
quelle

Antworten:

119

Um die Kriterien von JSLint zu erfüllen, muss es wie folgt geschrieben werden:

}(jQuery));

Obwohl ich denke, dass bestimmte Kriterien etwas subjektiv sind. Beide Wege scheinen meiner Meinung nach in Ordnung zu sein.

(function () {})() macht für mich etwas mehr Sinn, da Sie die volle Funktion einpacken und dann aufrufen

(function () {}()) Es sieht so aus, als würden Sie das Ergebnis des Funktionsaufrufs in ein Parens verpacken ...

Matt
quelle
17
Was ist die Motivation von JSLint dafür?
Guffa
1
Darf ich fragen warum? Die meisten Skripte in jQuery haben das Format im Fragenbeitrag.
Pimvdb
1
@Guffa + @pimvdb - nicht sicher. Crockford erweitert diese Seite normalerweise ein wenig, erwähnt dies jedoch nicht.
Matt
1
jslinterrors.com/… (nicht von Douglas geschrieben) sagt, es sei nur eine (fehlende) Konvention
Jeroen Versteeg