2016-07-13 123 views
2

我需要一些關於在以下簡單腳本中切換錯誤的幫助。爲什麼切換不起作用,而如果語句確實起作用

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

您正在使用switch - case語法錯誤的方式,

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

你也可以寫你的代碼類似下面,

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

謝謝〜好男人 – Brad

1

您正在重新評估PP的價值。

應該是

case 1: 
.... 
break; 
+0

謝謝〜好男人 – Brad

0

的Javascript開關因應符合下列格式

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

所以,案例PP == 1是錯誤的format.it應該是正確如下

<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

如果你肯定需要你重新評估您可以通過true表達到switch聲明:

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