JS中switch的四种写法示例

下面我将详细讲解JS中switch的四种写法示例。

简述

switch是一个条件语句,用于测试变量是否等于多个值中的某一个值。在JS中,switch有四种使用方式,分别是:

  1. 没有 break 关键字;
  2. 有 break 关键字;
  3. 每个 case 都使用 return;
  4. 使用对象的方法进行判断。

没有 break 关键字

示例代码如下:

var myAnswer = 'c';
switch (myAnswer) {
  case 'a':
    console.log('你选择了 a');
  case 'b':
    console.log('你选择了 b');
  case 'c':
    console.log('你选择了 c');
  default:
    console.log('你没有选择任何选项');
}

在这种情况下,如果变量myAnswer等于c,那么输出结果会是:你选择了 c, 你没有选择任何选项,原因是此时没有break语句来终止switch语句,因此在第一个case匹配成功后,程序会继续执行下一个case的代码,直到default语句结束。

有 break 关键字

示例代码如下:

var myAnswer = 'c';
switch (myAnswer) {
  case 'a':
    console.log('你选择了 a');
    break;
  case 'b':
    console.log('你选择了 b');
    break;
  default:
    console.log('你没有选择任何选项');
}

在这种情况下,如果变量myAnswer等于c,那么输出结果会是:你没有选择任何选项,原因是使用了break语句后,匹配成功的case代码块会执行完毕后直接跳出switch语句。

每个 case 都使用 return

示例代码如下:

function getAnswerLetter(answer) {
  switch (answer) {
    case 'a':
      return 'A';
    case 'b':
      return 'B';
    case 'c':
      return 'C';
    default:
      return '未知选项';
  }
}

console.log(getAnswerLetter('a')); // 输出结果:A
console.log(getAnswerLetter('d')); // 输出结果:未知选项

在这种情况下,如果匹配成功,将不会继续执行其他case或default语句,而是直接返回匹配成功的列的值。

使用对象的方法进行判断

示例代码如下:

var myAnswer = 'c';
var AnswerSelector = {
  a: function () {
    console.log('你选择了 a');
  },
  b: function () {
    console.log('你选择了 b');
  },
  c: function () {
    console.log('你选择了 c');
  },
  default: function () {
    console.log('你没有选择任何选项');
  },
};

(AnswerSelector[myAnswer] || AnswerSelector.default)();

在这种情况下,会定义一个对象AnswerSelector,该对象维护了每个选项的方法。在调用过程中使用了函数的自执行,而且是根据变量myAnswer在AnswerSelector对象中查找相应的方法。

以上就是JS中switch的四种写法的攻略,希望对您有所帮助!

营销型网站