Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.javascript > #27563
| Newsgroups | comp.lang.javascript |
|---|---|
| Subject | Re: ! function |
| From | "Evertjan." <exxjxw.hannivoort@inter.nl.net> |
| References | (2 earlier) <XnsA493D6D7F9E67eejj99@194.109.133.246> <migej4$beq$1@solani.org> <XnsA493E3574B657eejj99@194.109.133.246> <miglc1$4s6$1@solani.org> <migoq0$gvm$1@solani.org> |
| Date | 2015-05-08 11:00 +0200 |
| Message-ID | <XnsA4946FEC2688Ceejj99@194.109.133.246> (permalink) |
"Christoph M. Becker" <cmbecker69@arcor.de> wrote on 08 mei 2015 in
comp.lang.javascript:
>>> -function(a){alert(a);return 2}('hi')
>>>
>>> and this does not:
>>>
>>> function(a){alert(a);return -2}('hi')
>>>
>>> ??
>>
>> while the second line is parsed as (again simplified)
>>
>> SourceElement -> FunctionDeclaration -> ...
>>
>> and the remaining ('hi') is a syntax error, as no ASI applies here.
>
> That's wrong. According to ES 5.1 the line can't be parsed as
> FunctionDeclaration, because the Identifier is missing. Actually, the
> code doesn't match any production, and as such is syntactically invalid.
Quite, but that doesn't explain why
!function(a){alert(a)}('ho');
+function(a){alert(a)}('ho');
-function(a){alert(a)}('ho');
... do not throw an error.
"syntactically invalid" is just "according to the rules",
"throwing an error" is what should concern us in practice.
--
Evertjan.
The Netherlands.
(Please change the x'es to dots in my emailaddress)
Back to comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
! function Andrew Poulos <ap_prog@hotmail.com> - 2015-05-07 20:15 +1000
Re: ! function "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2015-05-07 13:04 +0200
Re: ! function "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2015-05-07 05:02 -0700
Re: ! function Joao Rodrigues <groups_jr-1@yahoo.com.br> - 2015-05-07 12:27 -0300
Re: ! function JJ <jj4public@vfemail.net> - 2015-05-08 00:09 +0700
Re: ! function "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2015-05-07 21:07 +0200
Re: ! function "Christoph M. Becker" <cmbecker69@arcor.de> - 2015-05-07 21:31 +0200
Re: ! function "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2015-05-07 22:20 +0200
Re: ! function "Christoph M. Becker" <cmbecker69@arcor.de> - 2015-05-07 23:27 +0200
Re: ! function "Christoph M. Becker" <cmbecker69@arcor.de> - 2015-05-08 00:26 +0200
Re: ! function "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2015-05-08 11:00 +0200
Re: ! function James Lewis <lewisje@gmail.com> - 2015-06-05 09:10 -0700
Re: ! function Scott Sauyet <scott.sauyet@gmail.com> - 2015-05-18 13:31 -0700
Re: ! function "Christoph M. Becker" <cmbecker69@arcor.de> - 2015-05-19 01:39 +0200
Re: ! function Scott Sauyet <scott.sauyet@gmail.com> - 2015-05-19 05:48 -0700
Re: ! function Joao Rodrigues <groups_jr-1@yahoo.com.br> - 2015-05-07 17:47 -0300
Re: ! function "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2015-05-07 23:22 +0200
Re: ! function Joao Rodrigues <groups_jr-1@yahoo.com.br> - 2015-05-07 19:08 -0300
Re: ! function "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2015-05-08 12:08 +0200
csiph-web