Kod jest następujący:
<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>
Spowoduje to wyświetlenie:
„Uncaught TypeError: obiekt nie jest funkcją”
Jeśli zawinę anonimowe wywołanie / wywołanie funkcji w inny zestaw nawiasów, uruchomi alert, ale nadal wyświetli błąd. Jeśli wstawię średnik po definicji „var postTypes”, wszystko będzie dobrze.
Doszedłem do wniosku, że javascript nie wymaga średników, więc domyślam się, że istnieją dziwne reguły asocjacyjne aplikacji funkcji, których nie do końca rozumiem. Dlaczego otrzymuję ten błąd?