switch 同時下兩個條件?

var url = 'x.php';
var get = 'add_x';
switch(url) {
  case '/x.php':
    $("#menu").show();
  break;
}

以上是只有判斷 url 是什麼則做什麼
但我想加上get判斷可以嗎?做一樣的事!
一樣是 $("#menu").show();
只是switch已經被url事件綁定
怎麼加上get呢
形同我要再加一個switch

switch(get) {
  case 'add_x':
    $("#menu").show();
  break;
}

可以合併嗎

阅读 5.7k
3 个回答

定义一份方法吧

function foo(key){
  switch(key) {
    case 'x.php':
    case 'add_x':
      $("#menu").show();
    break;
  }
}
foo(url);
foo(get);

在switch(expression)中,expression只能是一个整数表达式或者枚举常量,整数表达式可以是int类型或Integer包装类型。由于,byte,short,char都可以隐式转换为int类型,所以,这些类型也可以用作表达式。
你可以把两个值存在一个新数组里,也就是枚举常量,判断第一个常量的case后面不写break,程序会继续执行,如果你两个值都有case满足,则两个case都能执行的到。不知道是不是满足你的要求~

var url = 'x.php';
var get = 'add_x';
switch(true) {
  case url  == '/x.php' && get == 'add_x':
    $("#menu").show();
  break;
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题