Javascript 篱式 条件判断

2016-02-19 20:32 2 1 收藏

清醒时做事,糊涂时读书,大怒时睡觉,无聊时关注图老师为大家准备的精彩内容。下面为大家推荐Javascript 篱式 条件判断,无聊中的都看过来。

【 tulaoshi.com - Web开发 】

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

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

  考虑下面的代码

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

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

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

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

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

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)

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

来源:http://www.tulaoshi.com/n/20160219/1623939.html

延伸阅读
标签: Web开发
牢记:函数式编程不是用函数来编程!!! 23.4函数式编程 23.4.1 什么是函数式编程 什么是函数式编程?如果你这么直白地询问,会发现它竟是一个不太容易解释的概念。许多在程序设计领域有着多年经验的老手,也无法很明白地说清楚函数式编程到底在研究些什么。函数式编程对于熟悉过程式程序设计的程序员来说的确是一个陌生的领域,闭包(cl...
标签: Web开发
    你知道世界上有多少种浏览器吗?除了我们熟知的IE, Firefox, Opera, Safari四大浏览器之外,世界上还有近百种浏览器。     几天前,浏览器家族有刚诞生了一位小王子,就是Google推出的Chrome浏览器。由于Chrome出生名门,尽管他还是个小家伙,没有人敢小看他。以后,咱们常说浏览器的“四大才子”就得改称...
标签: Web开发
代码如下: SCRIPT LANGUAGE="JavaScript" !-- function ajaxByJyking(){ var xmlhttp_request = ""; try{ if( window.ActiveXObject ){ for( var i = 5; i; i-- ){ try{ if( i == 2 ){ xmlhttp_request = new ActiveXObject( "Microsoft.XMLHTTP" ); } ...
标签: Web开发
VBScript的IsDate函数用于判断一个日期是否正确,JavaScript没有这个函数,我们也来写一个类似的函数。需要说明的是,JavaScript中IsDate的参数必须为字符串,且支持6种不同的格式"yyyy-mm-dd || yyyy/mm/dd || dd-mm-yyyy || dd/mm/yyyy || mm-dd-yyyy || mm/dd/yyyy",之所以不能使用日期作为参数是因为JavaScript根本没有不正...
标签: Web开发
看如下的javascript脚本: if (window.XMLHttpRequest) { //Mozilla, Safari,...IE7  alert('Mozilla, Safari,...IE7 ');  if(!window.ActiveXObject){ // Mozilla, Safari,...   alert('Mozilla, Safari');  } else {   alert('IE7');  } } else {  alert('IE6'); } 看看运行效果: script...

经验教程

877

收藏

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