最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

使用命令对象代替switch语句的写法示例_javascript技巧

来源:懂视网 责编:小采 时间:2020-11-27 21:35:01
文档

使用命令对象代替switch语句的写法示例_javascript技巧

使用命令对象代替switch语句的写法示例_javascript技巧:曾经有人说过,真正好的程序是没有if..else的,当然switch还不如if..else。JS规范里面是禁止使用switch的。 命令对象(command object)就完美的解决了这个问题。 引用一篇国外的博客提到的: JavaScript 有着良好的控制流程语句,这些语句往往用花括号包裹
推荐度:
导读使用命令对象代替switch语句的写法示例_javascript技巧:曾经有人说过,真正好的程序是没有if..else的,当然switch还不如if..else。JS规范里面是禁止使用switch的。 命令对象(command object)就完美的解决了这个问题。 引用一篇国外的博客提到的: 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);

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

使用命令对象代替switch语句的写法示例_javascript技巧

使用命令对象代替switch语句的写法示例_javascript技巧:曾经有人说过,真正好的程序是没有if..else的,当然switch还不如if..else。JS规范里面是禁止使用switch的。 命令对象(command object)就完美的解决了这个问题。 引用一篇国外的博客提到的: JavaScript 有着良好的控制流程语句,这些语句往往用花括号包裹
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top