超级实习生计划学习笔记——switch语句

本文详细介绍了JavaScript中的switch语句,包括语法结构、执行思路和注意事项。通过对比switch和if...else语句,强调了它们在处理多分支逻辑时的适用场景和效率差异。并提供了代码示例进行直观展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

switch语句(多分支语句)多选一

一.语法结构

//基于不同条件来执行不同的代码,当要针对变量来设置一系列特定值的选项进行匹配时,就可以使用switch
switch (表达式) {
    case 常量1:
        //语句1;
        break;//break不能丢!
    case 常量2:
        //语句2;
        break;
    ...
    default:
    	//前面的case都匹配不上,执行最后的语句;
}

二.执行思路
利用判断的变量的值和case后面的常量进行匹配。如果匹配上,执行该case里的语句;如果没有匹配上,执行default里面的语句。

三.注意事项
switch ()的表达式和case 后面的常量可以是任意的类型,字符串,数字都行,但一般为可枚举的值;

(举例:由于表单、prompt函数返回的是字符串类型,所以case后面常量要相应地写字符串,或者把prompt返回的值转换为数字型,才能执行case里的语句,否则匹配不上只能执行default里的语句。)

在实际开发中,表达式常写成变量;

变量的值和case的常量必须是===全等才能匹配上,即值和数据类型都相等;

break 如果当前的case里面没有break,则不会退出switch,无需匹配下一个case的常量就执行其语句。

四.switch语句和if else if语句的区别
一般情况下,两个语句可以相互替换;(switch做值的匹配,if else if语句做逻辑判断)
switch语句通常处理case为比较确定的值的情况,而if else if语句更加灵活,常用于范围判断;
switch语句进行条件判断后直接执行到相匹配的条件语句,效率更高。而if else if语句需要从上至下依次判断条件,有几种条件就要判断几次;
当分支较少时。if else if语句执行效率比switch高;
当分支较多时,switch语句的执行效率比较高,且结构更清晰。


五.代码示例

//使用if else if语句的写法:
<body>
    <!-- <button onclick="show()">点击</button> -->
</body>
<script>
    function rand(min,max) {
    return Math.floor(Math.random()*(max-min)+min);
    }

    function show() {
        var n=rand(0,4);
        console.log(n);
        if (n==0) {
            alert("举头望明月,低头思故乡");
        } else if (n==1) {
            alert("长风破浪会有时,直挂云帆济沧海");
        } else if (n==2) {
            alert("举杯邀明月,对影成三人");
        } else {
            alert("天生我材必有用,千金散尽还复来");
        }
    }
    show()
</script>
    //使用switch语句的写法:
	function rand(min,max) {
    return Math.floor(Math.random()*(max-min)+min);
    }

    function show() {
        var n=rand(0,4);
        console.log(n);
        switch (n) {
            case 0:
                alert("举头望明月,低头思故乡");
                break;
            case 1:
                alert("长风破浪会有时,直挂云帆济沧海");
                break;
            case 2:
                alert("举杯邀明月,对影成三人");
                break;
            default:
                alert("天生我材必有用,千金散尽还复来");
        }
    }
    show();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值