zl程序教程

您现在的位置是:首页 >  前端

当前栏目

Javascript条件判断使用小技巧总结

JavaScript 使用 技巧 总结 判断 条件
2023-06-13 09:14:02 时间
考虑下面的代码

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)

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