JS中switch的四种写法示例

yizhihongxing

下面我将详细讲解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的四种写法的攻略,希望对您有所帮助!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS中switch的四种写法示例 - Python技术站

(1)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • js替换字符串中所有指定的字符(实现代码)

    要替换 JavaScript 字符串中的所有指定字符,可以使用字符串的 replace() 函数。replace() 函数可以接受两个参数,第一个参数是需要替换的字符或正则表达式,第二个参数是替换为的字符或函数。为了替换所有指定的字符,我们需要使用正则表达式来匹配所有出现的目标字符。 以下是实现代码: var str = "Hello, World…

    JavaScript 2023年5月28日
    00
  • JavaScript实现打字游戏

    下面是JavaScript实现打字游戏的完整攻略: 1. 准备工作 在HTML文件中添加一个文本框和一个按钮 引入jQuery库 引入word-list.js文件,该文件包含了所有的单词列表 2. 获取输入的单词 当用户在文本框中进行输入后,点击按钮,会触发事件,调用checkWord()函数,该函数获取文本框中的输入值,将其和随机生成的单词进行比较,判断是…

    JavaScript 2023年5月19日
    00
  • javaScript面向对象继承方法经典实现

    下面是“javaScript面向对象继承方法经典实现”的完整攻略。 什么是面向对象继承? 在面向对象的编程中,允许创建类继承一些特定的数据或行为,从而可以减少重复的代码。你可以创建一个类来拥有基本的行为和特征,让它的子类来扩展或重写这些行为和特征。 经典继承方法 JavaScript中的经典继承方法有两种:原型链继承和构造函数继承。 原型链继承 原型链继承是…

    JavaScript 2023年5月27日
    00
  • js实现中文转拼音的完整步骤记录

    安装pinyin库 pinyin是一个Python库,用于将汉字转换为拼音。要在JavaScript中将汉字转换为拼音,我们将使用Pyodide,这是一个将Python运行时编译为WebAssembly的工具。 要使用pinyin库,首先需要在JavaScript中安装Pyodide。可以通过使用以下代码片段来下载和加载Pyodide: async func…

    JavaScript 2023年6月11日
    00
  • JavaScript实现页面无缝滚动效果

    下面是我总结的“JavaScript实现页面无缝滚动效果”的完整攻略。 前置知识 在学习“JavaScript实现页面无缝滚动效果”之前,需要先了解一些基础知识,包括: HTML基础知识:HTML文档的结构、基本标签的使用等。 CSS基础知识:CSS样式基础语法、布局、盒模型等。 JavaScript基础知识:变量、函数、循环、条件语句等。 实现思路 在实现…

    JavaScript 2023年6月11日
    00
  • 解决火狐浏览器下JS setTimeout函数不兼容失效不执行的方法

    当我们使用JS的setTimeout函数在火狐浏览器下出现不兼容失效不执行的问题时,可以使用以下两种方法进行解决: 方法一:使用匿名函数替代字符串函数 在setTimeout函数中传入的字符串函数在Chrome和其他浏览器中可以正常执行,但是在火狐浏览器中则可能因为严格模式下的限制而不能正常工作。 // 无法在火狐浏览器中正常执行 setTimeout(‘a…

    JavaScript 2023年6月11日
    00
  • js实现浏览器的各种菜单命令比如打印、查看源文件等等

    JS实现浏览器的菜单命令可以通过JavaScript代码来实现。JavaScript是一种动态语言,可以对网页中的元素进行操作,因此可以实现浏览器的各种功能。 下面是实现浏览器打印功能的示例代码: // 获取打印按钮元素 var printBtn = document.querySelector(‘#print’); // 注册打印按钮的点击事件 print…

    JavaScript 2023年5月27日
    00
  • Javascript File和Blob详解

    Javascript File和Blob详解 Javascript File和Blob是Web开发中常用的两类数据对象,用于处理二进制数据和文件操作。本文将详细讲解它们的定义、常用方法以及应用场景。 什么是Javascript File? Javascript File是一个具有文件名和文件内容的对象,用于处理文件的读写、上传、下载等操作。它是通过File …

    JavaScript 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部