Der Code lautet wie folgt:
<body>
<a href="javascript:;" id="test">hello</a>
</body>
<script type="text/javascript">
document.getElementById("test").addEventListener("click", function () {
test()
}, false)
function test() {
var postTypes = new Array('hello', 'there')
(function() { alert('hello there') })()
}
</script>
Dies wird ein:
"Nicht gefangener TypeError: Objekt ist keine Funktion"
Wenn ich den anonymen Funktionsaufruf / Aufruf in einen anderen Satz von Klammern einbinde, wird die Warnung ausgeführt, es wird jedoch weiterhin ein Fehler ausgegeben. Wenn ich nach der Definition "var postTypes" ein Semikolon einfüge, ist das völlig in Ordnung.
Ich wurde zu der Überzeugung gebracht, dass für Javascript keine Semikolons erforderlich sind, daher vermute ich, dass es einige seltsame Assoziativitätsregeln für die Funktionsanwendung gibt, die ich nicht vollständig verstehe. Warum erhalte ich diesen Fehler?