JavaScript多级判定代码如何优化


本篇内容介绍了“JavaScript多级判定代码如何优化”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!业务代码里, 一次操作可能会前置多个判定, 我以前只是在函数的开头使用if语句去做这些事情, 虽然只是拦截一下不需要做else, 但是好多个判定堆在一起看着会有点…low, 而且, 如果这些东西堆在函数开头的话, 看起来就像这样:像在竖大拇指 ), 咳…说回这种方法.这其实是使用二元运算符 “&&“完成的一种简化写法, 可以理解为一种没有else的三元运算(因为我的逻辑里需要这种没有处理办法的写法), 我原本以为它需要void来驱动…的确可以在这种表达式外围包裹void, 我的确是这么做的, 整整一天.void 运算符对给定的表达式进行求值,然后返回 undefined。但其实根本没必要, void与否并不干扰执行.在Vue源码(此处仅指Vue2.6版, 我最近在看这个)里有大量的运用逻辑运算符来表达 “那么” 或者 “so” 的写法, 比如src/core/vdom/patch.js中的这个函数.最初我在使用这种改进后的if结构, 不再使用包裹式, 而是这种像闸口一样的结构.当然特殊免费云主机域名情况也还是要用if-else结构, 能优化就优化, 不能也不要强求.就像这样:if() {
if() { } else if() {

} else if() { }
} else if () {
if() { } else if() { } else { }
}再复杂一些, 再在内部加入各种逻辑, 就有些头疼了.完全可以把每个条件单独分出一个if, 顺序不变, 比如以上可以优化为:if () {
if () { }
if () { }
if() { }
}
if () {
if () { }
if () { } else { // else一般没什么办法… }
}else if里的”或”关系也可以单独拆一个 if 出来, 在看起来很复杂的情况下, 提升可读性.图示一下的话, if-else-if结构就像深墙老院:优化后的if结构更像是关隘:有一个专有名词validation gatekeeping(验证守护), 即是描述这种验证结构.但是一定注意判定条件的次序, 有些地方是必须用else if的, 否则会出现一个条件同时执行了多套处理方案的情况比如下面这个例子:这里把else if替换成if就会导致keywebglGroup时两条逻辑均会被执行.所以原则还是能优化的优化.嵌套else-if结构不太好用这种方式, 对于优化后的if结构用二元运算符重写, 个人觉得外层的大判定还是用if可读性会更好, 内部小判定用二元符简洁, 但其实你要是用二元运算符做嵌套判定结构的话, 层级问题会难以处理, 多个’&&‘运算连在一起的时候JavaScript会将其解析为 仅最后一个&&为判定, 其他&&全表示 ‘和’ 关系.当然如果你愿意在里面写函数的话是可以解决这个问题的, 用三元运算符做大判定也是可以的, 但是不好…重写成如下:但是这种逻辑运算符我现在没有找到能在判定完成之后跳出执行的方法, 也就是说你可以用这个方法沿路做一些顺手的操作, 但是不能像在if里那样做完判定可以return跳出函数.然后, 额, 你可以用这种方法返回值。目的是提升可读性和简洁化代码, 如果一个很长的处理方案或者很长的条件就这样安插在二元运算符中间, 适得其反.“JavaScript多级判定代码如何优化”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注百云主机网站,小编将为大家输出更多高质量的实用文章!

相关推荐: Linux安装Nginx的注意事项有哪些

这篇文章主要介绍了Linux安装Nginx的注意事项有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Linux安装Nginx的注意事项有哪些文章都会有所收获,下面我们一起来看看吧。1.nginx的简单说明a. nginx是一个…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 05/11 17:05
下一篇 05/11 17:05

相关推荐