2014-09-14 3 views
0

я выполнить некоторые SSJS код, который у меня есть переключатель заявление, в который выглядит примерно такили условие в распределительном случае

switch (form){ 
     case ("frmContract" || "frmLease") : 
      //do some stuff 
      return; 
      break; 
     case "frmSomethingElse" : 
      //do something else 
      return; 
      break 
} 

однако, или заявление в случае не работает. Кажется, что игнорируется frmContract и frmLease. Есть ли способ сделать это в коммутаторе или мне нужно сделать это с помощью операторов if

+0

Поместите каждый случай на отдельном 'case' линии. – usr2564301

ответ

1

, чтобы положить '||' (или) использовать это:

switch (form){ 
     case "frmContract" : case "frmLease" : 
      //do some stuff 
      return; 
      break; 
     case "frmSomethingElse" : 
      //do something else 
      return; 
      break 
} 

, чтобы положить '&&' (а) попробовать использовать метод ... я не знаю ...

bool Cmp(){ 
if("this"&&"this") { //Do stuff and finally 
return true; 
} 
else { return false; } //Nothing done 
} 



switch (form){ 
     case "frmContract": 
      if(Cmp()) //<- Don't worry about Lease being true or not... 
        //Cmp will make this... If both are true, will make something 
      else 
      //do some stuff 
      return; 
      break; 
     case "frmLease": 
      if(Cmp()); //<- Don't worry about Lease being true or not... 
        //Cmp will make this... If both are true, will make something, 
      else 
      //do some stuff 
      return; 
      break; 
     case "frmSomethingElse" : 
      //do something else 
      return; 
      break 
    } 
+0

Тип коммутатора, который не может выполнять два случая в любой момент времени, поэтому нет && usecase. – hybrdthry911

+0

Если он хочет знать, были ли выбраны X && Y, тогда создайте функцию, которая внутри проверяет это: if (X && Y) {Сделайте что-то} else {// НИЧЕГО} и поместите его, когда выбраны X или Y, и запустите FUnction Поскольку я сделал это bool, он вернет true, если он успешно найдет X && Y, else вернет false и сделает материал только для X или Y. У коммутатора нет &&, затем используйте голову и создайте «и» для коммутатора. Это просто. Может быть, это бесполезно, но это то, что он просил. –

+0

Он только просил о состоянии или состоянии. Переменная F не может быть одновременно и X && Y, она может быть X || Хотя. – hybrdthry911

2

В любое время вы указываете случай для коммутатора, перерыв; завершает выполнение оператора switch. Если вы решите не включать перерыв, он будет продолжаться до следующего оператора case, пока не увидит перерыв; или возвращение; Если вы перечислите два случая подряд, без перерыва, это будет в основном служить для сервера или цели. Вы также можете использовать инструкцию по умолчанию: в зависимости от usecase.

switch (form){ 
     case "frmContract": 
     case "frmLease": 
      //do some stuff 
      return; 
      break; 
     case "frmSomethingElse" : 
      //do something else 
      return; 
      break; 
} 
0
var form="frmContract"; 

переключатель (форма)

{

 case "frmContract": 

     //do some stuff 
     break; 
     case "frmLease": 
     //do something else 
     break; 
     case "frmSomethingElse": 
     //do something else 
     break; 

}