• 技术文章 >web前端 >js教程

    Javascript 篱式条件判断_javascript技巧

    2016-05-16 19:01:54原创633
    考虑下面的代码

    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 == ...) {
    ...
    }
    --Split--

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

    正如 小马 所言,如果已经在使用某些框架,需要具体问题具体分析。比如上述的条件判断代码,使用 YUI 编码就可以使用

    YAHOO.util.Dom.hasClass(el, className)
    显得更加的精简,并且相比上述的代码更容易理解。
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:javascript过滤危险脚本方法_javascript技巧 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 一文详解Node中的模块化、文件系统与环境变量• 为什么要用debugger来调试代码?这样你能读懂各种源码!• 一文聊聊Node包管理发展的五个阶段• 一文探究Angular中的服务端渲染(SSR)• 带你了解Angular组件间进行通信的几种方法
    1/1

    PHP中文网