zoukankan      html  css  js  c++  java
  • javascript「篱式」条件判断

    我们已经知道,null 没有任何的属性值,并且无法获取其实体(existence)值。所以 null.property 返回的是错误(error)而不是 undefined 。

    考虑下面的代码

    if (node.nextSibling.className == ...) {
       ...
    }

    在 node 或者 node.nextSibling 为空(null)的情况下,会返回错误(error)。所以,通常情况下的解决方案的代码为

    if ((node) && (next = node.nextSibling) && ... ) {
       ...
    }
    

      

    那么,当条件判断一多的情况下,代码会形成下面的情况

    if (
    (node) &&
    (node.nextSibling) &&
    (node.nextSibling.className == ...)
    ... ) {
       ...
    }
    

      

    随着判断条件的不断的增加,代码会变得非常的「丑陋」。

    有个小的「伎俩」,可以简化条件判断表达式。我们可以增加个空对象({})或者零(0)作为替代

    if ( next = (node || 0).nextSibling) ) {
       ...
    }
    

      

    那么,上述的代码就可以这样写

    if (((node || 0).nextSibling || 0).className == ...) {
       ...
    }
    

      就个人而言,上述的从某种角度而言,代码会非常的精简。但日常实际的编码过程中,尤其是多人配合的情况下,这些代码可能会给其他开发人员造成一定的困扰。

     

  • 相关阅读:
    android Animation整理
    js的console总结
    [原创]cocos2d-lua学习笔记(0)-提纲
    【转】js怎么编译成JSC
    【转】PCDuino用python读取GPIO数据
    Mysql数据库大小相关的问题
    oracle with as
    python jar
    investopedia level 2
    warning MSB3391
  • 原文地址:https://www.cnblogs.com/feng524822/p/3460392.html
Copyright © 2011-2022 走看看