Javascript 篱式条件判断

 更新时间:2008年08月22日 12:54:20   作者:  
我们已经知道,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 == ...) {
...
}
--Split--

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

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

YAHOO.util.Dom.hasClass(el, className)
显得更加的精简,并且相比上述的代码更容易理解。

相关文章

  • 代码块高亮可复制显示js插件highlight.js+clipboard.js整合

    代码块高亮可复制显示js插件highlight.js+clipboard.js整合

    最近有个需求是将jsp页面上的某一段代码块格式化成类似CSDN的代码块的样式,而且很多平台都使用了这样的功能,下面就为大家简单分享一下
    2021-02-02
  • JavaScript Cookie的读取和写入函数

    JavaScript Cookie的读取和写入函数

    Cookie的读取和写入实现函数。
    2009-12-12
  • 一文吃透JS树状结构的数据处理(增删改查)

    一文吃透JS树状结构的数据处理(增删改查)

    在开发后台管理系统时,常常会涉及到各种树状结构的数据处理逻辑,例如:增,删,改,查等。而树状结构的处理就没有数组那么的直观。本文为大家总结了JS树状结构的数据处理的方法,需要的可以参考下
    2022-07-07
  • JavaScript Reflect Metadata实现详解

    JavaScript Reflect Metadata实现详解

    这篇文章主要介绍了JavaScript Reflect Metadata实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • 一文带你搞懂JavaScript中数组的特性

    一文带你搞懂JavaScript中数组的特性

    数组是几乎所有编程语言的基础语法,JavaScript因为语法特性,我们更需要理解数组知识。本文从JavaScript中数组的一些特殊之处入手,通过这些少有特性的详细介绍,加深我们对数组的理解
    2023-04-04
  • JavaScript设计模式之抽象工厂模式介绍

    JavaScript设计模式之抽象工厂模式介绍

    这篇文章主要介绍了JavaScript设计模式之抽象工厂模式介绍,抽象工厂模式就是对功能类单独创建工厂类,这样就不必修改之前的代码,又扩展了功能,需要的朋友可以参考下
    2014-12-12
  • 基于javascript html5实现3D翻书特效

    基于javascript html5实现3D翻书特效

    这篇文章主要介绍了基于javascript html5实现翻书特效的实现方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-03-03
  • 纯JS实现根据CSS的class选择DOM

    纯JS实现根据CSS的class选择DOM

    这篇文章主要介绍了纯JS实现根据CSS的class选择DOM,需要的朋友可以参考下
    2014-03-03
  • JavaScript字符串转数字的简单实现方法

    JavaScript字符串转数字的简单实现方法

    这篇文章主要给大家介绍了关于JavaScript字符串转数字的简单实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • layui数据表格跨行自动合并的例子

    layui数据表格跨行自动合并的例子

    今天小编就为大家分享一篇layui数据表格跨行自动合并的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09

最新评论