Javascript条件判断语句的小技巧

2016-02-20 00:38 1 1 收藏

下面是个超简单的Javascript条件判断语句的小技巧教程,图老师小编精心挑选推荐,大家行行好,多给几个赞吧,小编吐血跪求~

【 tulaoshi.com - Web开发 】

原文:http://www.gracecode.com/Archive/Display/2086

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

考虑下面的代码

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

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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

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

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

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

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

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

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

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

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

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

--Split--

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

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

YAHOO.util.Dom.hasClass(el, className)

显得更加的精简,并且相比上述的代码更容易理解。

来源:https://www.tulaoshi.com/n/20160220/1632295.html

延伸阅读
标签: Web开发
break,continue和return这三个语句的用法新手们经常弄混淆,至少在我学习C语言的时候经常把它们的用法给搞错。不过现在好了,我已彻底搞清楚它们之间的用法!!由于最近一直在看javascript,下面简要说一下它们三个在javascript的一些用法 break语句: break语句会使运行的程序立刻退出包含在最内层的循环或者退出一个switch语句。由于它...
标签: Web开发
    1.  将彻底屏蔽鼠标右键     oncontextmenu="window.event.returnValue=false"table border oncontextmenu=return(false)tdno/table 可用于Table     2.取消选取、防止复制     body onselectstart="return false"     3. 不准粘贴   &nbs...
标签: Web开发
Javascript函数类型判断完美解决方案 在判断函数类型时,我们通常使用typeof方法,一般情况下,它会得到我们所预想的效果。但是,有一些细节并不为我们所熟知。John Resig 在分析了这些细节之后,为我们提供了一个完美的解决方案,本文将作详细介绍: 一、传统方法不为人所知的细节 毫无疑问,在判断函数类型时,我们使用的是typeof...
标签: Web开发
看到这样一串代码: SCRIPT type=text/JavaScript !--//--![CDATA[//!-- var spaceStaticData={               style: '/style/common/',         hostId: 2241772,      &...
第七集 如何去产生乱数 接下来我们要为你介绍一个可以产生乱数的函数,也是以 JavaScript 所写的这个函数只是利用了一点小技巧而已。而这种技巧在大部分的编译器(compiler)中,大都是如此(或类似)计算出乱数来的。相信 JavaScript 最后应也会以相似的方法来产生这样的method,如果它会提供这样功能的话,以下是此函数的结果: 这...

经验教程

39

收藏

30
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部