网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网页制作 > Javascript
网页制作:Dreamweaver教程,FrontPages教程,Javascript教程,HTML教程,CSS教程,心得技巧,DHTML教程,网页特效,Discuz!论坛
本月文章推荐
.40种网页常用小技巧(javascript).
.根据分辨率不同调用不同的css文件.
.javascript中的关键字和保留字.
.总结showModalDialog和showModel.
.服务器控件中js脚本注册方法.
.JavaScript验证函数集合.
.Javascript实例教程(9) 随机显示.
.利用搜索引擎引用来高亮页面关键.
.Firefox浏览器兼容JS脚本供参考.
.mshtml:javascript为HTML文件中.
.领悟JavaScript中的面向对象.
.网页javascript精华代码集.
.JavaScript学习笔记(2) 使用DO.
.5秒后弹窗的javascript代码.
.常用的JavaScript验证正则表达式.
.网站论坛注册中常用的一种倒记时.
.理解JavaScript中的事件.
.JavaScript与ActionScript函数相.
.用面向对象的方式封装javascript.
.Javascript设计漫天雪花.

Javascript 篱式 条件判断

发表日期:2008-9-1


我们已经知道,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)

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

上一篇:用javascript/css实现GridView行背景色交替、鼠标划过行变色,点击行变色选中 人气:2032
下一篇:贴一段用javascript打开和保存本地文件的源码 人气:1575
浏览全部JavaScript的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐