Thank you for the very quick reply!

Got it, I think.. well, not entirely. Which is why I am asking regarding the
second code (without the semicolon) I posted in the original message.
Can you, please, clarify the behavior of the second code I posted?



☆*PhistucK*



On Fri, Jan 28, 2011 at 14:15, Lasse R.H. Nielsen <[email protected]> wrote:

> The SyntaxError is correct. If you check other browsers, you will see that
> they give the same result.
>
> The problem here is the ';' after the then-branch of the second/inner if.
>
> An if-statement has the condition followed by exactly one statement (then
> then-branch), and then, optionally, the keyword "else" and another single
> statement (the else-branch). That single statement can be, and often is, a
> block statement.
>
> The block with the two alerts is the then-statment. The following ';' isn't
> part of that statement (block statements are not terminated by semicolons),
> so it must be another empty and unrelated statement. I.e., the
> then-statement was not followed by the "else" keyword, so the if-statement
> ends there. Ditto for the outer if statement.
> Then comes an "else" keyword that's not part of any if-statement, which is
> a syntax error.
>
> Best of luck
> /Lasse
>
>
> On Fri, Jan 28, 2011 at 13:02, PhistucK <[email protected]> wrote:
>
>> I have some questions and need some clarifications.
>>
>> When I try this code -
>> <!DOCTYPE HTML>
>> <html>
>> <script>
>> var a = "o";
>> var b = "c";
>> if (a == "o")
>>  if (b == "b")
>>  {
>>   alert("a is o");
>>   alert("b is b");
>>  };
>> else
>> {
>>  alert("a is not o");
>> };
>> </script>
>> </html>
>>
>> It shows -
>> Uncaught SyntaxError: Unexpected token else
>>
>> Should that error be triggered? can you explain why?
>>
>>
>>
>> Also, running it without that semicolon -
>> <!DOCTYPE HTML>
>> <html>
>> <script>
>> var a = "o";
>> var b = "c";
>> if (a == "o")
>>  if (b == "b")
>>  {
>>   alert("a is o");
>>   alert("b is b");
>>  }
>> else
>> {
>>  alert("a is not o");
>> };
>> </script>
>> </html>
>>
>> Shows an alert - "a is not o".
>> As far as I know, "if" and "else" count as two statements. If they are,
>> the "else" block is actually part of the first "if" statement.
>> Am I misinformed, or is it a bug?
>>
>>
>> Thank you for your time!
>>
>> ☆*PhistucK*
>>
>> --
>> v8-users mailing list
>> [email protected]
>> http://groups.google.com/group/v8-users
>
>
>
>
> --
> Lasse R.H. Nielsen
> [email protected]
> 'Faith without judgement merely degrades the spirit divine'
> Google Denmark ApS - Frederiksborggade 20B, 1 sal - 1360 København K -
> Denmark - CVR nr. 28 86 69 84
>
> --
> v8-users mailing list
> [email protected]
> http://groups.google.com/group/v8-users

-- 
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users

Reply via email to