Re: JavaScript-Syntax
Gunnar Bittersmann
- javascript
@@alle:
nuqneH
Auf meine Frage weiß Crockford die Antwort: “These things hanging outside are looking like dog balls.”
Also die Klammern um alles: (function () {/* … */} ())
Vermutlich ist die ganze (Lehr-)Stunde ansehenswert.
Qapla'
[latex]Mae govannen![/latex]
Auf meine Frage weiß Crockford die Antwort: “These things hanging outside are looking like dog balls.”
Also die Klammern um alles:
(function () {/* … */} ())
Diese Sytax ist mir lästig. Wenn ich einen derart umschlossenen Bereich temporär deaktivieren will: Problem.
Bei der herkömmlichen Syntax: Einfach. (function () {})()
=> (function () {})//()
Stur lächeln und winken, Männer!
Kai
Also die Klammern um alles:
(function () {/* … */} ())
Finde ich unverständlicher als (function () {})(). Der Sinn der Sache ist
1. am Anfang einer Zeile die Unterscheidung zur Function Declaration
2. Eventuelle Probleme bei der Minification umgehen bzw. aufzeigen.
Für ersten Zwecke wäre alles denkbar, was ein Expression Statement einleitet, es ginge auch
!function(){
alert(1);
}()
Für zweiten Zweck ist (fe)() deutlich besser als (fe()) (wobei fe = Function Expression), denn () kann nach der Komprimierung als Call-Expression geparst werden, wenn der Code vorher nicht korrekt auf ; endet. Das ist bei ()() auch möglich, nur gibt es dann wahrscheinlicher eine Exception, wenn der Rückgabewert keine Funktion ist.
Mathias