2012-05-29 108 views

回答

7

只是包裝操作中的功能,使他們可以重複使用

switch (something) { 
case 1: 
    operation1(); 
    break; 
case 2: 
    operation2(); 
    break; 
case 3: 
    operation3() 
    operation1(); //call operation 1 
    break; 
default: 
    defaultOperation(); 
    break; 
} 
+1

這是最好的答案因爲透支案件變得混亂。 – jbabey

+3

@ jbabey如果你不想在某處掉下來,你可能不會使用'switch',你可以使用一個對象文字和每個函數的鍵 – Esailija

+0

@Esailija爲什麼不使用對象文字發佈你的解決方案? – helpermethod

2

你可以做到這一點,像這樣:

switch(something){ 
    case 2: 
     break; 
    case 3: 
     //do something and fall through 
    case 1: 
     //do something else 
     break; 
    default: 
     break; 
} 

通常低於匹配的情況下,所有的代碼會被執行。因此,如果您省略了break;聲明,則會自動轉入下一個案例並執行其中的代碼。

2
switch(something){ 
     case 3: 
     case 1: 
      break; 
     case 2: 
      break; 

     default: 
      break; 
    } 

這應該做的伎倆

1

結合了兩種情況:

switch(something){ 
    case 1: 
    case 3: 
      break; 
    case 2: 
      break; 
    default: 
      break; 
} 
1
var i = 3; 

switch (i) 
{ 
    case(3): 
    alert("This is the case for three"); 

    case(1): 
    alert("The case has dropped through"); 
    break; 
    case(2): 
    alert("This hasn't though"); 
    break; 
} 

不是真的,雖然是個好主意,導致無法讀取的代碼