Javascript 篱式条件判断

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 == ...) {
...
}

时间: 2024-11-10 01:02:44

Javascript 篱式条件判断的相关文章

JavaScript 中if条件判断语句

条件语句 在写代码时,经常会需要基于不同判断执行不同的动作: 您可以在代码中使用条件语句来实现这一点. 在 JavaScript 中,我们可使用如下条件语句:1.使用 if 来规定要执行的代码块,如果指定条件为 true:2.使用 else 来规定要执行的代码块,如果相同的条件为 false:3.使用 else if 来规定要测试的新条件,如果第一个条件为 false:4.使用 switch 来规定多个被执行的备选代码块.  if 语句单分支语句,由一个if组成,如果条件成立,则进入代码开始执行

javascript中对条件判断语句的优化

不管写什么程序,平时都会用到条件语句,如:if...else... switch这样的语句,来达到对条件的判断.下面看来一段代码: function abc(test){ if (test == 1){ console.log('test的值是'+test); } else if (test == 2){ console.log('test的值是'+test); } else if (test == 3){ console.log('test的值是'+test); } else if (test

js条件判断时隐式类型转换

Javascript 中,数字 0 为假,非0 均为真 在条件判断运算 == 中的转换规则是这样的: 如果比较的两者中有布尔值(Boolean),会把 Boolean 先转换为对应的 Number,即 0 和 1,然后进行比较. 如果比较的双方中有一方为 Number,一方为 String时,会把 String 通过 Number() 方法转换为数字,然后进行比较. 如果比较的双方中有一方为 Boolean,一方为 String时,则会将空字符串""转换为 false,除此外的一切字符

(6)javascript的程序控制结构及语句-----(1)条件判断

程序控制结构及语句 编程就是将现实应用,转换为程序能够读得懂的语法语句.Javascript编程中对程序流程控制主要是通过条件判断语句.循环控制语句及continue.break来完成的,其中条件判断按预先设定的条件执行顺序,它包括if语句和switch语句:而循环控制语句则可以重复完成任务,它包括while语句.do...while语句及for语句. 一.条件判断语句: 条件判断语句就是对语句中不同条件的值进行判断,进而根据不同条件执行不同的语句.条件判断语句有"if条件语句"和&q

shell编程 条件判断式----利用 case ..... esac 判断

条件判断式----利用 case ..... esac 判断 case  $变量名称 in   <==关键词为 case ,还有变量前有钱字号 "第一个变量内容")   <==每个变量内容建议用双引号括起来,关键词则为小括号 ) 程序段 ;;            <==每个类别结尾使用两个连续的分号来处理! "第二个变量内容") 程序段 ;; *)                  <==最后一个变量内容都会用 * 来代表所有其它值 不包含

shell编程 条件判断式----利用 if .... then ----多重

条件判断式----利用 if .... then ----多重 在同一个数据的判断中,如果该数据需要进行多种不同的判断时,应该怎么作?举例来说,上面的 sh06.sh 脚本中,我们只要进行一次 $yn 的判断就好 (仅进行一次 if ),不想要作多次 if 的判断. 此时你就得要知道底下的语法了: # 一个条件判断,分成功进行与失败进行 (else) if [ 条件判断式 ]; then 当条件判断式成立时,可以进行的指令工作内容: else 当条件判断式不成立时,可以进行的指令工作内容: fi

条件判断式if和循环语句while及其函数的应用

条件判断式 if..then.case..esac if..then 是最常见的条件判断式,就是当负某个条件判断的时候,就进行某项工作 ,其中"&&"代表AND,"||"代表or if....then..else...fi 格式: if [条件判断语句]: then 当条件判断成立时,可以进行的命令工作内容: fi       // 结束if条件判断 例子:设定  A=3,判断,如果A要是等于3,就会显示3 if [ $A = 3 ]; then  

Javascript简明教程(5) 条件判断

JavaScript使用if () { ... } else { ... }来进行条件判断.例如,根据年龄显示不同内容,可以用if语句实现如下: [JavaScript] 纯文本查看 复制代码 ? 001 002 003 004 005 006 var age = 20; if (age >= 18) { // 如果age >= 18为true,则执行if语句块     alert('adult'); } else { // 否则执行else语句块     alert('teenager');

shell编程-条件判断式

条件判断式主要有以下6种类型: [[email protected] test]# ls -l total 8 drwxr-xr-x 2 root root 4096 Jan 17 19:28 shell -rw-r--r-- 1 root root 4 Jan 17 19:29 test.sh [[email protected] test]# [ -d test.sh ] && echo "yes" || echo "no" no [[email