2016-12-29 7 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 " 
    } 
} 

Вам также не нужно break, так как вы уже h ave 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

Вам не нужно ломаться после возвращения, я верю –