码迷,mamicode.com
首页 > 其他好文 > 详细

一些语句(switch case...)

时间:2019-09-09 17:48:34      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:类型转换   mes   布尔值   含义   val   expec   div   expected   数据类型   

switch 语句中的每一种情形(case)的含义是:“如果表达式等于这个值(value),则执行后面的
语句(statement)”。而 break 关键字会导致代码执行流跳出 switch 语句。如果省略 break 关键字,
就会导致执行完当前 case 后,继续执行下一个 case。最后的 default 关键字则用于在表达式不匹配前
面任何一种情形的时候,执行机动代码(因此,也相当于一个 else 语句)。

它的好处是可以取代出现各种if else if的判断语句

 1 var num = 8;
 2 switch (num){
 3     case 8:
 4         alert(8);
 5         num=7;
 6         console.log(num);
 7         break;
 8     case 1:alert(1);
 9         break;
10     case 2:alert(2);
11         break;
12     case 3:
13     //合并num等于3或4的情况
14     case 4:alert(3,4);
15         break;
16     case 5:alert(5);
17         break;
18     default:alert("不匹配");
19         break;
20 }

虽然 ECMAScript 中的 switch 语句借鉴自其他语言,但这个语句也有自己的特色。首先,可以在
switch 语句中使用任何数据类型(在很多其他语言中只能使用数值),无论是字符串,还是对象都没有
问题。其次,每个 case 的值不一定是常量,可以是变量,甚至是表达式。

 1 switch ("hello world") {
 2     case "hello" + " world":
 3         alert("Greeting was found.");
 4         break;
 5     case "goodbye":
 6         alert("Closing was found.");
 7         break;
 8     default:
 9         alert("Unexpected message was found.");
10 }

case判断布尔值:

 1 var num = 25;
 2 switch (true) {
 3     case num < 0:
 4         alert("Less than 0.");
 5         break;
 6     case num >= 0 && num <= 10:
 7         alert("Between 0 and 10");
 8         break;
 9     case num > 10 && num <= 20:
10         alert("Between 10 and 20");
11         break;
12     default:
13         alert("More than 20");
14 }

每一份case返回一个布尔值,故switch传达的表达式是true;

switch 语句在比较值时使用的是全等操作符,因此不会发生类型转换(例如,
字符串 "10" 不等于数值 10)

一些语句(switch case...)

标签:类型转换   mes   布尔值   含义   val   expec   div   expected   数据类型   

原文地址:https://www.cnblogs.com/LeeeOooonHuang/p/11493034.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!