if语句中使用多个条件的优化

if语句中使用多个条件的优化
一、使用and(&&)和or(||)运算符优化多条件if语句
例1:如何使用条件“degCent是否大于0,但又小于100?”。
方法一:使用嵌套的if语句
if(degCent<100){
if(degCent>0){
document.write("degCent is between 0 and 100");
}
}
    上述代码是正确的,但有点长,不太直观。JS提供了一个更好的办法——在if语句的条件部分使用多个条件。多个条件使用前面介绍的逻辑运算符连接起来。
方法二:
if(degCent>0 && degCent<100){
document.write("degCent is between 0 and 100");
}
    上述的if语句首先确定degCent是否大于0,如果是就接着确定degCent是否小于100。当两个条件都为true时,才执行代码document.write()。
例2:
var myAge=Number(prompt("Enter your age",30));
if(myAge>=0 && myAge<=10){
document.write("myAge is between 0 and 10);
}
if(!(myAge>=0 && myAge<=10)){
document.write("myAge is NOT between 0 and 10);
}
if(myAge>=80 || myAge<=10){
document.write("myAge is 80 or above OR 10 or below);
}
    注意:JavaScript不会计算不影响最终结果的条件。上述的条件就属于这种情况:计算出左操作数的结果true后,右操作数的结果为true还是false并不重要,因为只要OR操作中的一个条件是true,其结果就是true。因此,JavaScript实际上并不计算条件的右操作数。
if((myAge>=30 && myAge<=39)||(myAge>=80 && myAge<=89)){
document.write("myAge is between 30 and 39 or myAge is between 80 and 89");
}
输入30并按回车键,运行后的结果:
myAge is between 0 and 10
myAge is between 30 and 39 or myAge is between 80 and 89
    如上所述,理解或创建多个条件的最简单方法就是将它们分解为最小的逻辑块。尽管使用多个条件通常比使用多个if语句好,但是有时这会使代码难以阅读,不易理解和调试。一个if语句可能包含10个、20个甚至100多个条件,但是即使一个if语句只包含10个条件,也难以理解。
二、判断对象是否存在——if(x==null)的简写
if(x==null)或if (typeof (x) == 'undefined')可以简写为if(!x)。
反之if(x)表示x非空

猜你喜欢

转载自wsj123.iteye.com/blog/2291697