Hallo Christian,
danke für die Dippväler-Korrektur. Ich hatte es eigentlich Korrektur gelesen, war aber wohl doch noch zu eilig. Die Begriff "Closure" hatte ich mir unter Schmerzen verkniffen, ich wollte nicht zu sehr vom IIFE Thema abkommen :) Aber ok, jetzt steht er da und du hast es schön kompakt gelassen. Hätte ich nicht geschafft ;)
Ich verstehe aber dein Problem mit dem 4. Beispiel nicht. Mit welcher JS Version hast Du in
alert(function(x) { return x+3;}(7));
Fehler bekommen? Die Mehrdeutigkeit entsteht eigentlich nur am Anweisungsbeginn durch die Verwexelung mit der klassischen Funktionssyntachs.
IE 11, Firefox 52 und Chrome 57 sind ohne Klammern zufrieden und zeigen den alert an.
Rolf