Warum ist es möglich, Funktionen in JavaScript wie folgt aufzurufen, die mit node.js getestet wurden:
~$ node
> function hi() { console.log("Hello, World!"); };
undefined
> hi
[Function: hi]
> hi()
Hello, World!
undefined
> hi)( // WTF?
Hello, World!
undefined
>
Warum funktioniert der letzte Anruf hi)(
? Ist es ein Fehler in node.js, ein Fehler in der V8-Engine, ein offiziell undefiniertes Verhalten oder tatsächlich gültiges JavaScript für alle Interpreter?
.js
perl -ne '$x += $_; }{ print $x'
. Siehe versteckte Funktionen von Perl