分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 网页技术

原生js switch语句

发布时间:2023-09-06 02:17责任编辑:郭大石关键词:js

一、我们在流判断的时候,我们大多数的情况我使用if  else 语句。但是对于一些大量的逻辑的判断的时候,我们不建议使用if elseif语句 这种语句的效率执行不高,因为他每个expression 都需要进行计算判断,而switch case语句,在效率上更比if语句更高

其原理他本身根据生成的静态表,通过索引进行匹配效率高于if语句。

执行流程:

switch (expression){

case value1:

statement

break

case value2:

statement

break

.......

default:

statement

}

首先执行switch内的expression,计算值,然后进行case进行判断。匹配到case,执行对应的statement  如果有break,则跳出switch语句,如果没有则执行剩下的case语句,最后执行default 内的语句。如果带有break的,当匹配执行完case的时候,不会执行default 语句。如果

没有匹配到case最后执行default语句。

需要注意:switch语句的case匹配是全等匹配。不存在类型转换这点不同于if语句。

 1 <!DOCTYPE html> 2 <html> 3 <head> 4 ????<title></title> 5 </head> 6 <body> 7 <script type="text/javascript"> 8 ????var ?date=new Date(); 9 ????switch(date.getDate()){10 ????????case 1:11 ????????alert(1);12 ????????case 2:13 ????????alert(2);14 ????????case 3:15 ????????alert(3);16 ????????case 4:17 ????????alert(4)18 ????????case 5:19 ????????alert(5)20 ????????default:21 ????????alert(‘default‘)22 ????}23 </script>24 </body>25 </html>

如上switch语句,如果没有break的语句。在执行完的匹配的执行语句的时候,还会执行default语句。

加上break则匹配到case语句之后,不会执行default语句。此时default语句相当于if中的else部分。

 1 <!DOCTYPE html> 2 <html> 3 <head> 4 ????<title></title> 5 </head> 6 <body> 7 <script type="text/javascript"> 8 ????var ?date=new Date(); 9 ????switch(date.getDate()){10 ????????case 1:11 ????????alert(1);12 ????????break;13 ????????case 2:14 ????????alert(2);15 ????????break;16 ????????case 3:17 ????????alert(3);18 ????????break;19 ????????case 4:20 ????????alert(4);21 ????????break;22 ????????case 5:23 ????????alert(5);24 ????????break;25 ????????default:26 ????????alert(‘default‘)27 ????}28 </script>29 </body>30 </html>

一般的情况下 我们会用switch做一些值 的判断,当然我们可以进行逻辑的判断

 1 <!DOCTYPE html> 2 <html> 3 <head> 4 ????<title></title> 5 </head> 6 <body> 7 <script type="text/javascript"> 8 var num=24; 9 switch(true){10 ????case num>24:11 ????alert("大于24!");12 ????break;13 ????case num<24&&num>20:14 ????alert("大约20,小于24!");15 ????break;16 ????case num===24:17 ????alert("等于24");18 ????break;19 ????default:20 ????alert("判断不了")21 }22 </script>23 </body>24 </html>

原生js switch语句

原文地址:https://www.cnblogs.com/evilliu/p/9745096.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved