2016-12-29 63 views
2

嘗試在JavaScript中創建工廠時,當我向工廠傳遞一個值時,我希望它返回正確的字符串而不是整數。從工廠返回正確的值

function Factory(amount){ 
    switch (amount) { 
    case amount == 1: 
     return "one " 
     break; 
    case amount == 2: 
     return "two " 
     break; 
    case amount > 2: 
     return "more than two " 
     break; 
    } 
    return amount; 
} 

var per1 = Factory(1); 
console.log(per1, 'per1'); 
var per2 = Factory(2); 
var per3 = Factory(3); 

但是,當我退出per1我得到的值:1代替'one '

我有什麼不完全正確的?

+0

以下是w3schools如何教授它 - > http://www.w3schools.com/js/js_switch.asp –

回答

3

開關箱的工作價值觀,而不是true/false

function Factory(amount){ 
    switch (amount) { 
    case 0: 
     return "zero " 
    case 1: 
     return "one " 
    case 2: 
     return "two " 
    default: 
     return "more than two " 
    } 
} 

你也不需要因爲你已經是h大道return

如果以上未提及,default案件將處理其餘案例。所以你也不需要return amount作爲後備。

1
 function Factory(amount){ 
      switch (amount) { 
      case 1: 
       return "one " 

      case 2: 
       return "two " 

      default: 
       return "more than two " 

     } 
    } 

變化的情況下,你這樣

0

試試這個

function Factory(amount){ 
    switch (amount) { 
    case 1: 
     return "one " 
     break; 
    case 2: 
     return "two " 
     break; 

    } 
    return amount; 
} 



console.log(Factory(1)) 
//output "one" 
+1

你不需要在返回後休息我相信 –