2016-09-05 7 views
-3

else와 함께 javascript 컴파일러 오류가 발생할 수 있습니다.Javascript if else compiler bug?

다음은 코드입니다.

"use strict" 
var me ; 
var a=1; 
if (a==1) 
{me ="hello"} 
else if (a==2) 
{me ="bye"} 
else id (a==3) 
{me ="ups"} 
console.log(me) 

주 나는 'ID'이 아니라 ' 경우'가 그.

당신은

크롬 & 파이어 폭스

일이 무엇으로 검사 .... '나'.... 어떠한 오류에 대한 최종 '업'값이?

… 
else { 
    id(a == 3); 
} 

{ 
    me = "ups"; 
} 

예, 심지어 어떤 if 문 또는, 단순히이 경우에 특별한 일을하지 않을 것없이 코드 블록을 둘러싸 {} 브라켓을 가질 수 있습니다

+2

'id (...)'는 함수 호출입니다. 'else'블록의 유일한 내용입니다. 그 다음에는 항상 실행될 불필요한'{}'이있는 또 다른 블록이 있습니다. – deceze

+1

그리고 'else' 블록에 도달하지 못했기 때문에 * "id is not defined"* 오류가 발생하지 않습니다. – adeneo

+0

@adeneo. De 'd'편지는 'f'편지 근처에 있습니다. IMHO 컴파일러는 ..... 오류가 발생했습니다 ..... 나는 이드 함수가 없습니다 ... – civiltomain

답변

4

코드는 동일합니다. me = "ups" 문은 else 절과 연결되어 있지 않기 때문에 항상 실행됩니다. id() 함수 호출이 해당 블록과 관련된 유일한 문입니다.

아니요, 컴파일러 버그가 아니며 작성한 것입니다.