2016-07-13 2 views
2

다음 쉬운 스크립트에서 스위치의 문제점에 대한 도움이 필요합니다. 당신은 또한 다음과 같은 코드를 작성할 수문이 작동하는 동안 스위치가 작동하지 않는 이유

switch(pp){ 
     case 1 : var p="A"; break; 
     default : var p="F"; break; 
    } 

당신은 잘못된 방법으로 switch - case 구문을 사용하는

var pp = 1; 
switch (pp) { 
    case pp == 1: 
     var p = "A"; 
     break; 
    default: 
     var p = "F"; 
     break; 
} 

document.write(p); //display "F" ---??? it should be "A". 

if (pp == 1) document.write("A"); //display "A" 
+6

경우 1없는 경우 PP == 1 – Sikorski

+0

나 같은 새로운 우선 너무 친절 ~ 여러분 모두들 감사드립니다. – Brad

답변

4

,

var p = pp ? "A" : "F"; //And this code is valid for your given data only. 
+1

감사합니다 ~ 좋은 사람 – Brad

1

당신은 쪽의 값을-평가를 다시하고 있습니다

case 1: 
.... 
break; 
+0

~ ~ 좋은 사람 – Brad

0

자바 스크립트 스위치 원인은

switch(expression) { 
case n: 
    code block 
    break; 
case n: 
    code block 
    break; 
default: 
    default code block 
} 

그래서, 사례 쪽 == 1 당신은 확실히 당신이 필요하면

<script> 
      var pp=1; 
      switch(pp){ 
       case 1 : var p="A"; break; 
       default : var p="F"; break; 
      } 
      document.write(p); 

      if (pp==1) document.write("A"); 

    </script> 
+0

감사합니다 ~ ~ 좋은 사람 – Brad

0

을 다음과 같이 정확해야 잘못된 format.it에이 형식을 따라야합니다 모든 경우에 대해 trueswitch 진술 문으로 전달할 수있는 모든 사례에 대한 재평가를하십시오.

var p, 
 
    pp = 1; 
 

 
switch (true) { 
 
    case pp === 1: 
 
     p = 'A'; 
 
     break; 
 
    default: 
 
     p = 'F'; 
 
} 
 

 
console.log(p); // p should be "A" 
 

 
if (pp === 1) { 
 
    console.log('A'); // display "A" 
 
}

+0

~ 대단히 감사합니다 ~ – Brad

관련 문제