使用命令对象代替switch语句的写法示例_javascript技巧
曾经有人说过,真正好的程序是没有if..else的,当然switch还不如if..else。JS规范里面是禁止使用switch的。
命令对象(command object)就完美的解决了这个问题。
引用一篇国外的博客提到的:
JavaScript 有着良好的控制流程语句,这些语句往往用花括号包裹着。不过有个例外:switch … case 语句。switch … case 的奇怪之处在于你必须在每个 case 末尾加上关键字 break,以防止流程控制权穿越进入下一个 case 语句中。穿越是指让多条 case 执行的手法,当未遇见预期的 break 时,控制权就自动交到下一句 case 手中。然而,就如同分号与花括号一样,你很有可能会在不经意之间忘了写 break,当这发生时,后期的错误排查就比较痛苦,因为语句本身是没错的。因此,配对地写 case … break 是个好习惯。
我们通常讲,JavaScript 有着优雅的对象字面量与顶级函数,这些都使得特定的方法查询变的非常简单。为方法查询所创建的对象,我们称之为 活动对象(action object) 或 命令对象(command object),它被运用在许多软件设计模式中,包括强大的而有用的命令模式。
实例:
// switch 方法
function testSwitch(name) {
switch (name) {
case '1':
return 'hack';
break;
case '2':
return 'slash';
break;
case '3':
return 'run';
break;
default:
return false;
break;
}
}
// 使用命令对象
function testFn(name) {
var names = {
'1': function() {
return 'hack';
},
'2': function() {
return 'slash';
},
'3': function() {
return 'run';
}
};
if (typeof names[name] !== 'function') {
return false;
}
return names[name]();
}
// 测试结果
var result1 = testSwitch('1');
var result2 = testFn('2');
console.info(result1, result2);

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

PHP中的条件控制结构在PHP编程中,条件控制结构是一种非常重要的语法,它可以让程序根据不同的条件来执行不同的代码块。通过使用条件控制结构,我们可以实现程序的分支逻辑,根据条件的结果来决定程序的执行路径。本文将介绍PHP中常用的条件控制结构,包括if语句、else语句、elseif语句和switch语句,并给出具体的代码示例。if语句是PHP中最基本的条件控

switch是一个条件语句,用于计算条件表达式的值,判断该值是否满足case语句,如果匹配则会执行相应的代码块。是用来替换复杂if-else语句的常用方式。

Switch语句是一种在编程中常用的控制结构,允许程序根据不同的条件值来执行不同的代码块,可以代替多个if-else语句,提高代码的可读性和可维护性。虽然它有一些限制,但在适当的情况下,使用Switch语句可以使程序更加简洁和高效。

很多用户都非常的关注WiFi的发展,当WiFi7出来以后很多用户都开始猜测WiFi7是否可以代替有线网络,当然如果WiFi可以高速稳定地传输,那么取代有线网络也是正常的wifi7可以代替有线答:有望替代,但到底如何还要看正式投入使用的情况。WiFi7要比上一代的WiFi6快出2倍左右,同时延迟还减了近半。如果真的可以有非常高速稳定的传输速度,那么替代有线也是很正常的。WiFi7介绍1、Wi-Fi7则比Wi-Fi6更快,行业将其定义为“802.11beEHT”,也就是极高吞吐量2、Wi-Fi7可以

switch语句用法:1、Switch语句只能用于整数类型,枚举类型和String类型,不能用于浮点数类型和布尔类型;2、每个case语句后面必须跟着一个break语句,以防止执行其他case的代码块,没有break语句,将会继续执行下一个case的代码块;3、可以在一个case语句中匹配多个值,使用逗号分隔;4、Switch语句中的default代码块是可选的等等。

Go语言是一种新兴的编程语言,它具有高效、简洁、安全和并发等特点,非常适合用于Web开发、分布式系统和云计算等领域。在Go语言中,switch语句是一种非常常用的语言结构,它可以根据表达式的值,选择不同的分支进行执行。本文将介绍Go语言中switch语句的基本使用方法和注意事项。基本语法Go语言中的switch语句与其他编程语言中的

Java10中的局部变量类型推断:如何在switch语句中使用finalvar关键字随着Java语言的不断发展,每个新版本都会引入一些新的特性和改进。在Java10中,其中一个重要的新特性是局部变量类型推断。这个特性使得开发人员可以使用var关键字来代替显式的类型声明,从而使代码更加精简和易读。本文将探讨如何在switch语句中使用finalvar关

枚举类型是Java中定义常量集合的数据类型。配合switch语句,可实现以下功能:清晰表示值范围:枚举类型用于定义一组不可变的常量值,提高代码可读性。匹配不同枚举常量:switch语句允许根据枚举常量执行不同的操作,实现精细化的控制。处理不同场景:通过枚举类型和switch语句,可以在实际场景中灵活处理各种情况,如不同的通知类型发送不同邮件内容。
