文档章节

JS中switch语句的case子句的用法

文文1
 文文1
发布于 2015/04/15 22:33
字数 692
阅读 37
收藏 0

工作原理:switch首先设置表达式 n(通常是一个变量)。随后表达式的值会与结构中的每个 case 的表达式值做比较。如果存在匹配,则与该 case 关联的代码块会被执行。请使用 break 来阻止代码自动地向下一个 case 运行。

具体执行过程:

//具体的执行,就是这样
//1. 计算switch小括号里面的表达式,得出结果a
//2. 计算case后边的表达式,得出结果b
//3. 进行验证 a === b 如果相等,则执行case,否则跳过这个case,继续2步骤
//4. 强制中断switch语句可以用return , break这俩个关键字在case后边的执行语句里,
//   可以跳出switch的验证
//加上break语句
//这样,只要有一次可以匹配通过,就会跳出其他的判断条件和if else if else 差不多

实例1:

1.
var id = 2;
var s = 1;
switch(id){//计算id的值
    case 2://计算常量
        alert('2 true');
    case 1 + 1://计算数字相加
        alert('1 + 1 true');
    case 1 * 2://计算数字相乘
        alert('1 * 2 true');
    case s * 2://计算变量
        alert('s * 2 true');
    default : //默认执行
        alert('default');
}
2.
switch(id){//计算id的值
    case 2://计算常量
        alert('2 true');
        break;
    case 1 + 1://计算数字相加
        alert('1 + 1 true');
        break;
    case 1 * 2://计算数字相乘
        alert('1 * 2 true');
        return ;//return也可以中断switch的case,并且会将整个方法中断
    case s * 2://计算变量
        alert('s * 2 true');
        break;
    default : //默认执行
        alert('default');
}
3.
function type(obj){
   switch(typeof obj){
       case 'string' : 
           return 'string';
       case 'function':
           return 'function';
       case 'object':
           return 'object';
       case 'number':
           return 'number';
   }
}

实例2:

1.
function case1(num){ 
    switch(num){ 
        case 1: 
            document.writeln("show 1!!"); 
            break; 
        case 2: 
            document.writeln("show 2!!"); 
            break; 
        case 3: 
            document.writeln("show 3!!"); 
            break; 
        default: 
            document.writeln("show others!!"); 
            break; 
    } 
}
2.
function case2(num){ 
    switch(num){ 
        case 1: 
            document.writeln("show 1!!"); //沒有break,所以會繼續執行case 2 
        case 2: 
            document.writeln("show 2!!"); 
            break; 
        case 3: 
            document.writeln("show 3!!"); //沒有break,所以會繼續執行case 4 
        case 4: 
            document.writeln("show 4!!"); 
            break; 
        default: 
            document.writeln("show others!!"); 
            break; 
    } 
}
3.
function case3(num){ 
    switch(num){ 
        case 1: 
        case 2: //相當於if(num==1 || num==2) 
            document.writeln("show 1 or 2!!"); 
            break; 
        case 3: 
        case 4: //相當於if(num==3 || num==4) 
            document.writeln("show 3 or 4!!"); 
            break; 
        default: //相當於else 
            document.writeln("show others!!"); 
            break; 
    } 
}
4.
function case4(num){ 
    switch(f(num)){ 
        case 1: 
        case 2: //相當於if(num==1 || num==2) 
            document.writeln("show 1 or 2!!"); 
            break; 
        case 3: 
        case 4: //相當於if(num==3 || num==4) 
            document.writeln("show 3 or 4!!"); 
            break; 
        default: //相當於else 
            document.writeln("show others!!"); 
            break; 
    } 
} 
5. 
function case5(num){ 
    switch(num<=2){ //case可以为表达式
        case true: 
            document.writeln("num <= 2"); 
            break; 
        case false: 
            document.writeln("num > 2"); 
            break; 
    } 
} 
6.//表示一个范围
function case6(x){
    switch(true){ 
        case x>0&&x<10: 
            alert(1); 
            break; 
        case x>=10&&x<20: 
            alert(2); 
            break; 
    } 
}
又如比如表示范围90~100,
function case7(num){
    switch(true){
        case num>90&&num<100:
            alert("hello");
            break;
    }
}


© 著作权归作者所有

共有 人打赏支持
文文1
粉丝 19
博文 340
码字总数 114952
作品 0
长沙
程序员
前端基础(二):变量声明的6种方法

字数:2869 阅读时间:10分钟 最新的ECMAScript规范中,变量声明有var、function、let、const、import、class六种方法。 var 语法: var varname [= value1 [, vaname1[,valname2 ...]]]; 对...

老司机带你撸代码
06/09
0
0
《JavaScript权威指南》笔记(四)

第四篇笔记的内容主要涉及:javascript中的各种语句。 1. switch语句: (1)其中的case表达式采用===匹配,而不是==做匹配 (2)习惯上将default标签放在switch主体的结尾,但实际上可以放在...

小微
2012/08/28
0
2
JS 中 if / if...else...替换方式

说说烂大街的,程序中用得最多的流程判断语句。 对着曾经满屏的,心想能不能搞点事情,折腾点浪花浪里呀浪。 对顶着“这个需求很简单,怎么实现我不管,明天上线”的程序猿,答案必须YES。 ...

Kenz
07/15
0
0
使用jQuery快速高效制作网页交互特效——01 第一章 JavaScript基础

1、 JavaScript(弱类型语言):是一种描述性语言,也是一种基于对象(Object)和事件驱动(Event Driven)的,并具有安全性能的脚本语言。 特点:1、主要用来在HTML页面中添加交互行为。 2、是...

逆風〠飛翔
07/30
0
0
JavaScript基础——变量-运算符-流程控制语句

JavaScript是在客户端浏览器解释执行的语言,一个完整的 JavaScript 实现是由以下 3 个不同部分组成的: 1.ECMAScript:描述了该语言的语法和基本对象; 2.文档对象模型(Document Object M...

codejson
07/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

python标准输入输出

input() 读取键盘输入 input() 函数从标准输入读入一行文本,默认的标准输入是键盘。 input 可以接收一个Python表达式作为输入,并将运算结果返回。 print()和format()输出 format()输出...

colinux
23分钟前
0
0
Python 核心编程 (全)

浅拷贝和深拷贝 1.浅拷贝:是对于一个对象的顶层拷贝,通俗的理解是:拷贝了引用,并没有拷贝内容。相当于把变量里面指向的一个地址给了另一个变量就是浅拷贝,而没有创建一个新的对象,如a...

代码打碟手
35分钟前
0
0
PHP 对象比数组省内存?错!数组比对象省内存?错!

刚刚一个群里有人引出了 PHP 数组和对象占用内存谁多谁少的问题。我想起之前我好像也测试过这个问题,和群里人说的对象比数组节省内存的结论相反,我得出的是数组比对象节省内存。 但今天,我...

宇润
51分钟前
1
0
memcached命令行及其用法

21.5 memcached命令行 创建数据 yum install -y telnet 利用telnet命令连接memcached数据库 telnet 127.0.0.1 11211 #写入数据 set key2 0 30 212STORED 这个是错误的示范,因为0 30 已经...

lyy549745
51分钟前
0
0
Maven私服

Maven私服 一、简介 当多人项目开发的时候,尤其聚合项目开发,项目和项目之间需要有依赖关系,通过maven私服,可以保存互相依赖的jar包,这样的话就可把多个项目整合到一起。 如下图: Inst...

星汉
54分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部