Why does this work:
a = []
a.push(['test']);
(function() {alert('poop')})()
But this gives the error "number is not a function":
a = []
a.push(['test'])
(function() {alert('poop')})()
The only difference is the semicolon at the end of line 2. I've been writing JavaScript for a long time now. I know about automatic semicolon insertion, but I can't figure out what would be causing this error.