JS编程建议——13:养成优化表达式的思维方式(2)

建议13:养成优化表达式的思维方式(2)
直观分析,这个逻辑结构的错乱是因为随意混用大于号和小于号等运算符造成的。如果调整一下表达式的结构顺序,阅读起来就非常清晰了。

  1. if(( 6 <= age && age < 18) || 65 <= age ){
  2. }
    这里采用了统一的小于号方式,即所有参与比较的项都按着从左到右、从小到大的思维顺序进行排列,而不再遵循变量始终居左、比较值始终居右的传统编写习惯。

3.第三种方式—避免布尔表达式的叠加
表达式中的另一个“顽疾”是布尔型表达式的重叠所产生的迷宫。在复杂表达式中,这种多重叠加的布尔表达式足以“令人生畏”。例如,对于下面这个条件表达式:

  1. if !(!isA || !isB) {
  2. }
    如果采用“剥洋葱皮”的方法逐层分析,也可以找到结果。当然,也可以对这样的表达式进行优化,以方便阅读。例如:
  3. ( ! isA || ! isB) = ! (isA && isB)
  4. ( ! isA && ! isB) = ! (isA || isB)
    运算符为很多程序员所喜爱,特别是在JavaScript函数式编程中,这个运算符的使用频率会更高。但对于很多开发者来说,由于难以适应这种连续思维,会在阅读代码时产生障碍。为此,可以适当采用if条件语句对?运算符表达式进行分解。

4.第四种方式—if语句分解
例如,对于下面这个复杂表达式,如果不仔细进行分析,很难理清它的逻辑顺序。

  1. var a.b = new c(a.d ? a.e(1) : a.f(1))
    在使用if条件语句后,逻辑结构就变得非常清晰了。
  2. if(a.d){
  3. var a.b = new c(a.e(1));
  4. }else{
  5. var a.b = new c(a.f(0));
  6. }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值