2014-03-19 128 views
0

如何在JS中为switch语句设置多个条件?在javascript中切换的多个条件

或如何在开关内设置或调节?

如:

switch(apple.amount) or switch(orange.amount) 
{ 

case '1 kg': 
total = 100; 
break; 

case '2 kg': 
total = 200; 
break; 
} 
+1

而如果两者都有值,究竟该如何工作? –

+0

将您的开关封装在一个函数中,并将这两个数值传递给所述函数。 – SBI

+0

每个人都有价值。 –

回答

2

使用loop

var amounts = [apple.amount, orange.amount]; 
var totals = []; 
for(var i = 0; i < amounts.length; i++){ 
    switch(amounts[i]) 
    { 
     case '1 kg': 
     totals[i] = 100; 
     break; 

     case '2 kg': 
     totals[i] = 200; 
     break; 
    } 
} 

如果你的肯定,只有一个会不会有什么执行过程中的值,你可以使用||操作:

var amount1; 
var amount2 = '2 kg'; 
var total; 

    switch(amount1 || amount2) 
    { 
     case '1 kg': 
     total = 100; 
     break; 

     case '2 kg': 
     total = 200; 
     break; 
    } 

alert(total); 
0

将开关置于一个函数中并测试返回值:

function getTotal(amount) { 
    switch(amount) { 
    case '1 kg': 
     return 100 
    case '2 kg': 
     return 200 
    } 
} 
if(getTotal(apple.amount) || getTotal(orange.amount)) { 
    // both returns a total 
}