switch中return和break的区别

一、switch基本语法

switch (表达式){
    case 目标值1:
        执行语句1
        break;
    case 目标值2:
        执行语句2
        break;
    ......
    case 目标值n:
        执行语句n
        break;
    default:
        执行语句n+1
        break;
}

二、break的用法

        break用于跳出当前的switch语句,也就是说代码会继续往下执行。

const test=(value)=>{
    switch(value){
        case 1:
            console.log(5555);
            break;
        case 2:
            console.log(8888);
            break;
    }
    console.log(4444);
}
//输出结果为:5555   44444
test(1)

代码执行输出结果为:5555  4444

只是终止的当前switch语句的执行,但没有终止该test方法的执行

三、return的用法

        用于终止该方法的执行,退出该函数,也就是switch语句块后面的语句也不执行了。

const test=(value)=>{
    switch(value){
        case 1:
            console.log(5555);
            return;
        case 2:
            console.log(8888);
            break;
    }
    console.log(4444);
}
//输出结果是:5555
test(1)

输出5555表示,当使用return时,会退出当前函数。return后面没有返回值则返回undefined,有值则将该值作为函数的返回值。

四、不使用break和return

const test=(value)=>{
    switch(value){
        case 1:
            console.log(5555);
        case 2:
            console.log(8888);
    }
    console.log(4444);
}
//输出 5555 8888 4444
test(1)

以此输出对应值,不会停止switch函数。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
前言................................................................................................................................. 7 什么是FreeMarker? ................................................................................................. 7 我们应该阅读什么内容? .......................................................................................... 8 文档规约................................................................................................................... 8 联系我们................................................................................................................... 8 几点说明................................................................................................................... 9 第一部分 模板开发指南 ................................................................................................. 10 第一章 模板开发入门 ............................................................................................. 10 1.1 简介 .......................................................................................................... 10 1.2 模板 + 数据模型 = 输出 ........................................................................... 10 1.3 数据模型一览 ............................................................................................ 11 1.4 模板一览 ................................................................................................... 14 第二章 数值和类型 ................................................................................................. 20 2.1 基本内容 ................................................................................................... 20 2.2 类型 .......................................................................................................... 22 第三章 模板 ........................................................................................................... 26 3.1 总体结构 ................................................................................................... 26 3.2 指令 .......................................................................................................... 27 3.3 表达式 ....................................................................................................... 28 3.4 插值 .......................................................................................................... 43 第四章 其它 ........................................................................................................... 46 4.1 自定义指令 ................................................................................................ 46 4.2 在模板定义变量 ..................................................................................... 51 4.3 命名空间 ................................................................................................... 54 4.4 空白处理 ................................................................................................... 57 4.5替换(方括号)语法 ................................................................................... 60 第二部分 程序开发指南 ................................................................................................. 62 第一章 程序开发入门 ............................................................................................. 62 1.1 创建配置实例 ............................................................................................ 62 1.2 创建数据模型 ............................................................................................ 62 1.3 获得模板 ................................................................................................... 63 1.4 合并模板和数据模型 .................................................................................. 64 1.5将代码放在一起 .......................................................................................... 64 第二章 数据模型 .................................................................................................... 66 2.1 基本内容 ................................................................................................... 66 2.2 标量 .......................................................................................................... 66 2.3 容器 .......................................................................................................... 67 2.4 方法 .......................................................................................................... 68 2.5 指令 .......................................................................................................... 69 2.6 节点变量 ................................................................................................... 75 2.7 对象包装 ................................................................................................... 76 第三章 配置 ........................................................................................................... 80 3.1 基本内容 ................................................................................................... 80 3.2 共享变量 ................................................................................................... 80 3.3 配置信息 ................................................................................................... 81 3.4 模板加载 ................................................................................................... 83 3.5 错误控制 ................................................................................................... 86 第四章 其它 ........................................................................................................... 90 4.1 变量 .......................................................................................................... 90 4.2 字符集问题 ................................................................................................ 90 4.3 多线程 ....................................................................................................... 92 4.4 Bean的包装 ................................................................................................ 92 4.5 日志 .......................................................................................................... 98 4.6 在Servlet使用FreeMarker ...................................................................... 99 4.7 为FreeMarker配置安全策略......................................................................106 4.8 遗留的XML包装实现 ................................................................................107 4.9 和Ant一起使用FreeMarker.......................................................................111 4.10 Jython 包装器 ..........................................................................................112 第三部分 XML处理指南................................................................................................114 前言.......................................................................................................................114 第一章 揭示XML文档 ...........................................................................................115 1.1 节点树 ......................................................................................................115 1.2 将XML放到数据模型 ............................................................................117 第二章 必要的XML处理 ........................................................................................119 2.1 通过例子来学习 ........................................................................................119 2.2 形式化描述 ...............................................................................................126 第三章 声明的XML处理 ........................................................................................131 3.1 基础内容 ..................................................................................................131 3.2 详细内容 ..................................................................................................133 第四部分 参考文档 .......................................................................................................136 第一章 内建函数参考文档 .....................................................................................136 1.1 处理字符串的内建函数 .............................................................................136 1.2 处理数字的内建函数 .................................................................................150 1.3 处理日期的内建函数 .................................................................................153 1.4 处理布尔值的内建函数 .............................................................................158 1.5 处理序列的内建函数 .................................................................................158 1.6 处理哈希表的内建函数 .............................................................................164 1.7 处理节点(XML)的内建函数....................................................................164 1.8 很少使用的和专家级的内建函数 ...............................................................166 第二章 指令参考文档 ............................................................................................170 2.1 if,else,elseif指令 ...................................................................................170 2.2 switch,case,default,break指令..............................................................172 2.3 list,break 指令 .........................................................................................173 2.4 include指令 ...............................................................................................174 2.5 import 指令 ...............................................................................................177 2.6 noparse指令 ..............................................................................................178 2.7 compress指令 ............................................................................................179 2.8 escape,noescape指令...............................................................................180 2.9 assign 指令 ................................................................................................182 2.10 global 指令 ..............................................................................................184 2.11 local 指令 ................................................................................................185 2.12 setting 指令 .............................................................................................185 2.13 用户自定义指令() ......................................................................187 2.14 macro,nested,return 指令 ....................................................................189 2.15 function,return 指令...............................................................................193 2.16 flush 指令 ................................................................................................195 2.17 stop 指令.................................................................................................195 2.18 ftl 指令 ....................................................................................................196 2.19 t,lt,rt 指令 ..........................................................................................197 2.20 nt 指令 ....................................................................................................198 2.21 attempt,recover 指令 .............................................................................199 2.22 visit,recurse,fallback 指令 .....................................................................200 第三章 特殊变量参考文档 .....................................................................................205 第四章 FTL的保留名称.......................................................................................207 第五章 废弃的FTL结构 .........................................................................................208 5.1 废弃的指令列表 ........................................................................................208 5.2 废弃的内建函数列表 .................................................................................208 5.3 老式的macro和call指令 ..........................................................................208 5.4 转换指令 ..................................................................................................210 5.5 老式FTL语法 ............................................................................................211 5.6 #{…}式的数字插值 ......................................................................................212 第五部分 附录 ..............................................................................................................214 附录A FAQ .............................................................................................................214 1. JSP和FreeMarker的对比 .............................................................................214 2. Velocity和FreeMarker的对比.......................................................................215 3. 为什么FreeMarker对null-s和不存在的变量很敏感,如何来处理它? ......215 4. 文档编写了特性X,但是好像FreeMarker并不知道它,或者它的行为和文档描述的不同,或者一个据称已经修改的BUG依然存在。 .....................................216 5. 为什么FreeMarker打印奇怪的数字数字格式(比如1,000,000或1 000 000而不是1000000)? ...............................................................................................216 6. 为什么FreeMarker会打印不好的小数和/或分组分隔符号(比如3.14而不是3,14).......................................................................................................................217 7. 为什么当我想用如格式打印布尔值时,FreeMarker会抛出错误,又如何来修正呢?................................................................................................................217 8. FreeMarker标签的混淆了编辑器或XML处理器,应该怎么做? .........217 9. 什么是合法的变量名? ...............................................................................217 10. 如何使用包含空格,或其他特殊字符的变量(宏)名? ............................218 11. 当我试图使用JSP客户标签时为什么会得到非法参数异常:形式参数类型不匹配?................................................................................................................218 12. 如何像jsp:include一样的方式引入其它的资源?................................219 13. 如何给普通Java方法/ TemplateMethodModelEx/ TemplateTransformModel/ TemplateDirectiveModel的实现传递普通java.lang.* / java.util.*对象的参数? ...............................................219 14. 为什么在myMap[myKey]表达式不能使用非字符串的键?那现在应该怎么做?................................................................................................................220 15. 当使用?keys/?values遍历Map(哈希表)的内容时,得到了混合真正map条目的java.util.Map的方法。当然,只是想获取map的条目。 ...............221 16. 在FreeMarker的模板如何改变序列(lists)和哈希表(maps)? ...........221 17. 关于null在FreeMarker模板语言是什么样的? ......................................222 18. 我该怎么在表达式(作为另外一个指令参数)使用指令(宏)的输出? 223 19. 在输出为什么用“?”来代替字符X? ..................................................223 20. 在模板执行完成后,怎么在模板获取计算过的值? ................................224 21. 我能允许用户上传模板吗?又如何保证安全呢? .......................................224 22. 如何在Java语言实现方法或宏而不是在模板语言?............................225 23. 为什么FreeMarker的日志压制了我的应用程序? ......................................225 24. 在基于Servlet的应用程序,如何在模板执行期间发生错误时,展示一个友好的错误提示页面,而不是堆栈轨迹? ...........................................................226 25. 我正使用一个可视化的HTML割裂模板标记的编辑器。你们可以改变模板语言的语法来兼容我的编辑器么? .........................................................................226 26. FreeMarker有多快?真的是2.X版本的要比1.X版本(经典的FreeMarker)的慢吗?................................................................................................................226 27. 我的Java类怎么才能获取到关于模板结构的信息(比如所有变量的列表)?.......................................................................................................................227 28. 你会一直提供向后的兼容性吗? ...............................................................227 29. 如果我们把FreeMarker和我们的产品一起发行,我们需要发布我们产品的源代码么? ............................................................................................................228 附录B 安装FreeMarker..........................................................................................229 附录C 构建FreeMarker..........................................................................................230 附录D 版本 ...........................................................................................................231 2.3.18版 .........................................................................................................231 2.3.17版 .........................................................................................................233 2.3.16 版.........................................................................................................235 2.3.15 版.........................................................................................................236 2.3.14 版.........................................................................................................237 2.3.13 版.........................................................................................................238 2.3.12 版.........................................................................................................238 2.3.11 版.........................................................................................................239 2.3.10 版.........................................................................................................240 2.3.9 版 ..........................................................................................................241 2.3.8 版 ..........................................................................................................242 2.3.7 版 ..........................................................................................................242 2.3.7 RC1版 .....................................................................................................243 2.3.6 版 ..........................................................................................................244 2.3.5 版 ..........................................................................................................244 2.3.4 版 ..........................................................................................................245 2.3.3 版 ..........................................................................................................246 2.3.2 版 ..........................................................................................................247 2.3.1 版 ..........................................................................................................248 2.3 版 .............................................................................................................250 2.2.8 版 ..........................................................................................................262 2.2.7 版 ..........................................................................................................263 2.2.6 版 ..........................................................................................................263 2.2.5 版 ..........................................................................................................264 2.2.4 版 ..........................................................................................................264 2.2.3 版 ..........................................................................................................265 2.2.2 版 ..........................................................................................................265 2.2.1 版 ..........................................................................................................266 2.2 版 .............................................................................................................266 2.1.5 版 ..........................................................................................................275 2.1.4 版 ..........................................................................................................275 2.1.3 版 ..........................................................................................................275 2.1.2 版 ..........................................................................................................276 2.1.1 版 ..........................................................................................................276 2.1 版 .............................................................................................................277 2.01 版 ...........................................................................................................281 2.0 版 .............................................................................................................281 2.0 RC3版........................................................................................................282 2.0 RC2版........................................................................................................283 2.0 RC1版........................................................................................................284 附录E 许可 ...........................................................................................................287 词汇表 ..........................................................................................................................288

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值