2012-06-22 3 views
6

작동하지 않는 switch case 문이 있습니다. 입력 내용을 확인했습니다. 유효합니다. 사용자가 1이면 기본값으로 변경됩니다. 사용자가 임의의 숫자이면 기본값입니다. 여기 뭐가 잘못 됐니? 나는 자바 스크립트를 전혀 모른다.JS 스위치 케이스가 작동하지 않습니다.

switch (user) { 
case 1: 
    // stuff 
    break; 
case 2: 
    // more stuff 
    break; 
default: 
    // this gets called 
    break; 
} 
+1

변수'user'에는 무엇이 포함되어 있습니까? '객체'또는'int'? – user278064

+0

그 이유는 내가 강한 타이핑을 선호합니다 :) –

+0

크리스,'스위치 (~~ 사용자)'시도 – KingRider

답변

16

문자열과 정수를 혼합하지 않았는지 확인하십시오.
시도 : 사용자 변수의

switch (user) { 
    case "1": 
     // stuff 
     break; 
    case "2": 
     // more stuff 
     break; 
    default: 
     // this gets called 
} 
+0

'default' 불필요한'break' – KingRider

10

데이터 유형이 일치하지 않습니다. 캐스트 유형 사용자을 정수로 변환합니다.

+0

어떻게? 나는 당신이 js에서하는 모든 것이 var라고 생각했다. – Chris

4

캐스트 유형은 자바 스크립트 형태를 인식

switch (+user) { 
    case 1: .. // 
} 
2

정수입니다. 따라서 '1'은 1과 다릅니다. 귀하의 경우 '사용자'는 숫자가 아니고 문자열이어야합니다.

user = Number(user) 
관련 문제