首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Javascript switch语句比较抛出了一个循环

JavaScript中的switch语句用于根据不同的条件执行不同的代码块。它可以替代多个if语句,使代码更简洁易读。然而,在使用switch语句时,如果没有使用break语句,就会出现循环抛出的情况。

循环抛出是指当满足某个case条件后,代码会继续执行下一个case的代码块,而不是跳出switch语句。这可能会导致意外的结果,因为我们通常期望只执行满足条件的case,并跳出switch语句。

为了避免循环抛出,我们需要在每个case的代码块末尾使用break语句。break语句用于终止switch语句,并跳出该语句块。这样可以确保只执行满足条件的case,并避免循环抛出的问题。

以下是一个使用switch语句的示例,展示了如何避免循环抛出:

代码语言:javascript
复制
var fruit = "apple";
switch (fruit) {
  case "apple":
    console.log("It's an apple.");
    break;
  case "banana":
    console.log("It's a banana.");
    break;
  case "orange":
    console.log("It's an orange.");
    break;
  default:
    console.log("It's an unknown fruit.");
    break;
}

在上面的示例中,如果我们忘记在每个case的代码块末尾添加break语句,就会出现循环抛出的问题。例如,如果我们忘记在第一个case的代码块末尾添加break语句,那么当fruit为"apple"时,会打印出所有后续case的内容,而不仅仅是满足条件的第一个case。

总结起来,为了避免循环抛出问题,我们在使用switch语句时需要在每个case的代码块末尾添加break语句,以确保只执行满足条件的case,并跳出switch语句。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

JavaScript之选择控制语句(if,switch,while,do-while,for循环)及很重要的表达式真与假

作者 | 随笔川迹 ID | suibichuanji 前言 撰文:川川 您将在本文当中学习到 顺序语句 分支语句 If判断,switch,while循坏,do..while循环,for循环,表达式中的真...与上面的 value 值都不匹配,执行此处语句 语句体4; break; } 注意事项: 在JS中switch语句与其他变成语言的一个主要区别是:switch语句中的判断表达式可以是任意类型...,case子句可以有多个,但是每一个case子句的取值不能够重复 default子句类似于if语句中的else语句,可以省略,但是不建议,一般用来处理一种其他的情况,可以出现在switch语句中的任意位置...,需要注意几点: 循环的初始条件是定义在外面的 只有while中条件表达式为真时,才执行里面的语句体 while循环中应该有循环变量的更新,否则它会造成死循环 06 do...while循环 创建一个执行指定语句循环...用于创建一个循环,它包含了三个可选的表达式,这三个表达式被包围在圆括号之中,使用分号分隔,后跟一个用于在循环中执行的语句 应用场景:用于固定循环次数的场景 写法: for(初始化变量;循环条件;循环自增变量

2.1K20

JS的控制流程

switch 或 label 语句,使程序跳到下一个语句执行。...break语句包含一个可选的标签,可允许程序摆脱一个被标记的语句。break语句需要内嵌在引用的标签中。被标记的语句可以是任何 块语句;不一定是循环语句。...continue 语句可以包含一个可选的标号以控制程序跳转到指定循环的下一次迭代,而非当前循环。此时要求 continue 语句在对应的循环内部。...按照惯例,default 子句是最后一个子句,不过也不需要这样做。 可选的 break 语句确保程序立即从相关的 case 子句中跳出 switch 并接着执行 switch 之后的语句。...语法: throw expression; throw "Error2"; // 抛出了一个值为字符串的异常 throw 42; // 抛出了一个值为整数42的异常 throw true;

7.3K10

javascript(一):javascript基本介绍及基本语法

注意:javascript区块不构成单独的作用域(scope)。即区块中的变量与区块外的变量,属于同一个作用域!(C++等语言出现这种情况会报错!)...1 for(var i=0;i<5;i++){ 2 console.log(i); 3 } 4 console.log(i);//输出5 switch:(使用严格相等运算符===比较!)...中使用的是===严格相等运算符'); 10 break; 11 } 运行结果: image.png  break和continue语句:(默认只针对一层循环!)...;j++){ 3 for(k=0;k<=j;k++){ 4 if(k===j && k===1) 5 break abc;//跳出了这两层循环...满足条件时,跳过当前循环,进入下一轮外层循环;如果continue后面不加标签,则只能进入下一层内层循环! 本文参考链接:阮一峰javascript标准参考教程

76280

12种不宜使用的Javascript语法

. == Javascript有两组相等运算符,一组是==和!=,另一组是===和!==。前者只比较值的相等,后者除了值以外,还比较类型是否相同。 请尽量不要使用前一组,永远只使用===和!==。...5. switch 贯穿 switch结构中的case语句,默认是顺序执行,除非遇到break,return和throw。...9. function语句Javascript中定义一个函数,有两种写法:   function foo() { } 和   var foo = function () { } 两种写法完全等价。...11. new语句 Javascript是世界上第一个被大量使用的支持Lambda函数的语言,本质上属于与Lisp同类的函数式编程语言。但是当前世界,90%以上的程序员都是使用面向对象编程。...为了靠近主流,Javascript出了妥协,采纳了类的概念,允许根据类生成对象。

64791

【笔记】《C++Primer》—— 第5章:语句

稍有点晚的周更 第五章的标题是语句,主要讲的是我们平时写语句的一些基本要求和例如迭代语句控制语句等概念。这篇内容比较少而且因为平时用得很多所以写的自然也会少些。...switch语句由于会进行语句跳转,要求不能跳过变量的初始化而使用变量,且每个case都有内部的一个作用域。...declaration符合,为保证符合最好的方法是使用auto 范围for语句会在每次迭代中将声明转为序列的下一个值,然后在执行循环体。...break语句只能终止最接近的一层循环或者switch,也只能出现在这些语句之中,终止这一层后在外层接下来的第一句语句继续执行。...continue语句则是终止最接近的一层循环然后立即开始下一次循环(包括条件判断),除非switch嵌套在循环中否则不能在swicth中用。

71110

JavaScript中在try里面放return,finally还会执行吗?

我们比较常见的语句包括变量声明、表达式、条件、循环等,这些都是大家非常熟悉的东西,对于它们的行为,我在这里就不赘述了。...在一个函数中执行了两次 return,这已经超出了很多人的常识,也是其它语言中不会出现的一种行为。 面对如此怪异的行为,我们当然可以把它作为一个孤立的知识去记忆,但是实际上,这背后有一套机制在运作。...Chrome 控制台显示的正是语句的 Completion Record 的[[value]]。 3. 语句块 介绍完了普通语句,我们再来介绍一个比较特殊的语句语句块。...控制型语句 控制型语句带有 if、switch 关键字,它们会对不同类型的 Completion Record 产生反应。...控制类语句分成两部分,一类是对其内部造成影响,如 if、switch、while/for、try。

62420

JavaScript 教程「5」:流程控制

JavaScript 中,提供了两种分支结构语句,分别是: if 语句 swtich 语句 if if 的语法结构如下: if(条件表达式){ // 执行语句 } 如果 if 语法结构中的条件表达式为...在 JavaScript 中,主要有三种类型的循环语句: for 循环 while 循环 do…while 循环 for 循环 程序中,一组被重复执行的语句被叫做循环体,而是否需要继续重复执行,取决于循环的终止条件...do…while 循环 do…while 其实是 while 循环一个变体,其语法结构如下: do{ // 循环体代码 }while(条件表达式); 执行时,无论如何都会先进入循环体执行一次循环体代码...,所以程序打印出了 0-5 中除 2 之外的其他元素。...,所以程序只打印出了 0、1,2 及以后的数不再打印。

36020

JavaScript 模式》读书笔记(2)— 基本技巧2「建议收藏」

缺陷在于创建代码时黏贴和复制整个循环比较麻烦。例如,如果要从一个函数复制循环至另一个函数,必须确保能将i和max携带至新函数中(如果这几个量在愿函数中不再需要,则很可能会删除掉它们了)。...对于循环的最后一个改进,时使用i++代替一下两种表达式: i = I + 1 i += 1   for模式重的两个变量引出了一些细微的操作,原因是: 使用了最少的变量(而非最多) 逐步减至0,这样通常更快...其次,switch在c++这样的语言中,性能确实要稍微好一点。但是,在JavaScript中,两者几乎无任何区别,而且switch还可能会引起意外的问题,所以建议使用if-else。...用default语句来作为switch的结束:当以上场景都不匹配时,给出一个默认的结果。 五、避免使用隐式类型转换   不要在你的程序中使用==或者!==,请使用===和!===。...因为JavaScript在使用比较语句时会执行隐式类型转换。转换的场景可能比你知道的要多得多。 六、避免使用eval()   eval()是个魔鬼,它可以实现你的梦想,也可以夺走你的灵魂。

25140

JavaScript 模式》读书笔记(2)— 基本技巧2

缺陷在于创建代码时黏贴和复制整个循环比较麻烦。例如,如果要从一个函数复制循环至另一个函数,必须确保能将i和max携带至新函数中(如果这几个量在愿函数中不再需要,则很可能会删除掉它们了)。...对于循环的最后一个改进,时使用i++代替一下两种表达式: i = I + 1 i += 1   for模式重的两个变量引出了一些细微的操作,原因是: 使用了最少的变量(而非最多) 逐步减至0,这样通常更快...其次,switch在c++这样的语言中,性能确实要稍微好一点。但是,在JavaScript中,两者几乎无任何区别,而且switch还可能会引起意外的问题,所以建议使用if-else。...用default语句来作为switch的结束:当以上场景都不匹配时,给出一个默认的结果。 五、避免使用隐式类型转换   不要在你的程序中使用==或者!==,请使用===和!===。...因为JavaScript在使用比较语句时会执行隐式类型转换。转换的场景可能比你知道的要多得多。 六、避免使用eval()   eval()是个魔鬼,它可以实现你的梦想,也可以夺走你的灵魂。

36210

12种不宜使用的Javascript语法

12种不宜使用的Javascript语法 《Javascript语言精粹》的附录B中,Douglas Crockford列出了12种应该避免使用的Javascript语法,现总结如下: 1. ==...5. switch 贯穿 switch结构中的case语句,默认顺序执行,除非遇到break,return和throw。...9. function语句Javascript中定义一个函数,有两种写法: function foo() { } 和 var foo = function () { } 两种写法完全等价。...11. new语句 Javascript是世界上第一个被大量使用的支持Lambda函数的语言,本质上属于与Lisp同类的函数式编程语言。但是当前世界,90%以上的程序员都是使用面向对象编程。...为了靠近主流,Javascript出了妥协,采纳了类的概念,允许根据类生成对象。

49150

JavaScript高级程序设计(第四版)》学习笔记(三)第3章(续)

3.6.1 if 语句 if (condition) statement1 else statement2 3.6.2 do-while 语句 循环体内的代码至少执行一次 // 只要i 小于10,循环就会重复执行...i 从 0 开始,每次循环递增 1。 let i = 0; do { i += 1; } while (i < 10); 3.6.3 while 语句 // 变量i 从0 开始,每次循环递增1。...(); } 3.6.5 for-in 语句 1)遍历数组里的所有数组元素 2)遍历 JavaScript 对象的所有属性 for (index in object) { statement }...语句 switch 语句可以简化复杂的 if 语句一个瞅瞅,看看语法 let num = 25; switch (true) { case num < 0: console.log("Less...语句比较每个条件的值时,会使用全等操作符,因此不会强制转换数据类型(比如,字符串"10"不等于数值10)。

42620

javaScript的基本语法大全

四.条件语句 JavaScript 提供if结构和switch结构,完成条件判断,即只有满足预设的条件,才会执行相应的语句。...需要注意的是,每个case代码块内部的break语句不能少,否则会接下去执行下一个case代码块,而不是跳出switch结构。 ?...需要注意的是,switch语句后面的表达式,与case语句后面的表示式比较运行结果时,采用的是严格相等运算符(===),而不是相等运算符(==),这意味着比较时不会发生类型转换。 ?...这表明,switch语句内部采用的是“严格相等运算符”。 三元运算符 ?: JavaScript 还有一个三元运算符(即该运算符需要三个运算子)?:,也可以用于逻辑判断。 (条件) ?...结论: 上面的javaScript循环switch语句,三元运算符都是引用java的规则的,我么使用这些语法时完全可以套用java的用法。

91120

Java Script脚本语言入门(上)

test循环条件,一个包含比较运算符的表达式,用来限定循环变量的边限。如果循环变量超过了该边限,则停止该循环语句的执行。 increment:用来指定循环变量的步幅。...while(expression) { statement; } 参数说明如下: expression:一个包含比较运算符的条件表达式,用来指定循环条件。...5.do……while do……while循环语句也称为后测试循环语句,它是利用一个条件来控制是否要继续重复执行这个语句。...expression:一个包含比较运算符的条件表达式,用来指定循环条件。 break与continue语句 break与continue语句都可以用于跳出循环,但两者也存在着一些区别。...break语句:break语句用于退出包含在最内层的循环或者退出一个switch语句。 continue语句:用于终止本次循环,并开始下一次循环

1.6K20

java中“53”个关键字(含2个保留字)

开关 switch(表达式) { case 常量表达式1:语句1; …. case 常量表达式2:语句2; default:语句; } default就是如果没有符合的case就执行它,...default并不是必须的. case后的语句可以不用大括号. switch语句的判断条件可以接受int,byte,char,short,不能接受其他类型. case 返回开关里的结果 default...默认 do 运行 长与while连用 break 跳出循环 continue 继续 中断本次循环,并并开始下一次 return 返回 return 一个返回值类型 instanceof 实例 一个二元操作符...throws只用在一个方法的末端,表示这个方法体内部如果有异常,这给它的调用者。...throw是具体向外异常的动作,所以它是抛出一个异常实例。

40620

JavaScript基础笔记

: 7.循环语句 7.1 while循环 7.2 for循环 7.3 do…while循环 7.4break语句和continue语句 7.5标签(label) 语句 JavaScript...凡是JavaScript语言中预期为值的地方,都可以使用表达式。比如,赋值语句的等号右边,预期是一个值,因此可以放置各种表达式。一条语句可以包含多个表达式。...条件语句 条件语句提供一种语法构造,只有满足某个条件,才会执行相应的语句JavaScript提供if结构和switch结构,完成条件判断。...需要注意的是,switch语句后面的表达式与case语句后面的表示式,在比较运行结果时,采用的是严格相等运算符(===),而不是相等运算符(==),这意味着比较时不会发生类型转换。...这表明,switch语句内部采用的是“严格相等运算符”。 三元运算符 JavaScript还有一个三元运算符(即该运算符需要三个运算子)?:,也可以用于逻辑判断。 (condition) ?

1.2K50

快速入门JavaScript(一)

个人主页:楠慧 简介:一个大二的科班出身的,主要研究Java后端开发 ⏰座右铭:成功之前我们要做应该做的事情,成功之后才能做我们喜欢的事 1、JavaScript快速入门 1.1、JavaScript...运行在客户端浏览器中,每一个浏览器都具备解析 JavaScript 的引擎。 脚本语言:不需要编译,就可以被浏览器直接解析执行了。...表达式1 : 表达式2; 执行流程 如果比较表达式为true,则取表达式1 如果比较表达式为false,则取表达式2 2.6、流程控制和循环语句 if 语句 //if语句 let month...语句 //switch语句 switch(month){ case 3: case 4: case 5: document.write("春季");...、三元运算符 流程控制和循环语句:if、switch、for、while 数组:数据类型和长度没有限制,let 数组名 = [长度/元素] 函数:类似方法,抽取代码,提高复用性

74040

JavaScript 权威指南第七版(GPT 重译)(二)

改变这种默认执行顺序的另一种方法是使用 JavaScript 中的一些语句或控制结构: 条件语句 诸如if和switch这样的语句根据表达式的值使 JavaScript 解释器执行或跳过其他语句 循环...就像表达式经常包含子表达式一样,许多 JavaScript 语句包含子语句。形式上,JavaScript 语法通常允许单个子语句。例如,while循环语法包括一个作为循环体的单个语句。...然而,JavaScript 语法要求循环体作为一个语句,因此使用了一个语句——只是一个裸分号。 请注意,在for循环、while循环或if语句的右括号后意外包含分号可能导致难以检测的令人沮丧的错误。...当您想要跳出不是最近的循环switch语句时,您需要带标签的break语句。...JavaScript 语句语法 语句 目的 break 退出最内层循环switch或从命名封闭语句中退出 case 在switch语句中标记一个语句 class 声明一个类 const 声明和初始化一个或多个常量

43010

原生js的笔记

javascript笔记 一个 = 是赋值 两个 = = 是值相等 三个 = = = 是值和类型相等。...console.log("及格了"):console.log("不及格") 循环语句: for , while ,do{}while() ,switch for 循环语句 while 循环语句 do.....case 'a': alert("apple") 记得case 和default后面写 : if和switch的区别 if语句:表达式的结果是boolean布尔类型(常用于区间判断) switch语句...:表达式类型不能是boolean布尔类型,可能是byte,int,char,string,枚举(常用于等值判断) switch需要case来跳转一个循环条件 每一个循环条件需要加break结束循环, (...(2)switch case的缺点: 1.switch…case占用较多的代码空间,因为它要生成跳表, 特别是当case常量分布范围很大但实际有效值又比较少的情况,switch…case的空间利用率将变得很低

7310
领券