网络技术知识
JS中switch的四种写法示例
下面我将详细讲解JS中switch的四种写法示例。
简述
switch是一个条件语句,用于测试变量是否等于多个值中的某一个值。在JS中,switch有四种使用方式,分别是:
- 没有 break 关键字;
- 有 break 关键字;
- 每个 case 都使用 return;
- 使用对象的方法进行判断。
没有 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的四种写法的攻略,希望对您有所帮助!