CH03 JavaScript数据类型与运算符.ppt
3.4.3逻辑运算符2.逻辑与运算符(AND)还有一种特殊情况:当条件1为假(false)时,无论条件2是任何内容(例如null值、undefined、数字、对象等),最终返回值都是假(false)。原因是逻辑与有简便运算的特性,即如果第一个条件为假(false)的话,直接判断逻辑与的运行结果为假(false),不再执行第二个条件。例如:varx1=false;varresult=x1x2;//因为x1为false,可以忽略x2直接判断最终结果alert(result);//该语句执行结果为false由于条件1为false,逻辑与会直接判定最终结果为false,直接忽略条件2。因此即使本例中条件2的变量未声明都不影响代码的运行。3.4.3逻辑运算符2.逻辑与运算符(AND)如果存在某个条件是数字类型,则先将其转换为布尔值再继续判断。其中数字0对应的是假(false),其他非0的数字对应的都是真(true)。例如:varx1=0;//对应的是falsevarx2=99;//对应的是truevarresult=x1x2;//结果是false逻辑与运算符的返回值不一定是布尔值,如果其中某个条件的返回值不是布尔值,有可能出现其他返回值。逻辑非的运算规则如表3-17所示。3.4.3逻辑运算符3.逻辑或运算符(OR)在JavaScript中,逻辑或运算符使用双竖线符号(||)表示,用于连接符号前后的两个条件判断,表示二选一的关系。当两个条件均为布尔值时,逻辑或的运算结果也是布尔值(true或者false)。判断结果如表所示。3.4.3逻辑运算符3.逻辑或运算符(OR)还有一种特殊情况:当条件1为真(true)时,无论条件2是任何内容(例如null值、undefined、数字、对象等),最终返回值都是真(true)。原因是逻辑或也具有简便运算的特性,即如果第一个条件为真(true)的话,直接判断逻辑或的运行结果为真(true),不再执行第二个条件。例如:varx1=true;varresult=x1||x2;//因为x1为true,可以忽略x2直接判断最终结果alert(result);//该语句执行结果为true由于条件1为真(true),逻辑或会直接判定最终结果为真(true),直接忽略条件2。因此即使本例中条件2的变量未声明都不影响代码的运行。3.4.3逻辑运算符3.逻辑或运算符(OR)和逻辑与运算符类似,如果存在某个条件是数字类型,则先将其转换为布尔值再继续判断。其中数字0对应的是假(false),其他非0的数字对应的都是真(true)。例如:varx1=0;//对应的是falsevarx2=99;//对应的是truevarresult=x1||x2;//结果是true逻辑或运算符的返回值同样不一定是布尔值,如果其中某个条件的返回值不是布尔值,有可能出现其他返回值。逻辑非的运算规则如表4-23所示。3.4.4关系运算符在JavaScript中,关系运算符共有四种:大于()、小于()、大于等于(=)和小于等于(=)。用于比较两个值的大小,返回值一定是布尔值(true或false)。3.4.4关系运算符1.数字之间的比较数字之间的比较完全依据数学中比大小的规律,当条件成立时返回真(true),否则返回假(false)。例如:varresult1=990;//符合数学规律,返回truevarresult2=1100;//不符合数学规律,返回false此时只要两个运算数都是数字即可,整数或小数都可以依据此规律进行比较并且返回对应的布尔值。3.4.4关系运算符2.字符串之间的比较当两个字符串进行比大小时,是按照从左往右的顺序依次比较相同位置上的字符,如果字符完全一样则继续比较下一个。如果两个字符串在相同位置上都是数字则仍然按照数学上的大小进行比较。例如:varx1=9;varx2=1;varresult=x1x2;//返回true此时从数学概念上来说,9大于1,因此返回值是真(true)。3.4.4关系运算符2.字符串之间的比较但是如果两个数字的位数不一样,仍然只对相同位置上的数字进行比大小,不按照数学概念看整体数值大小。例如:varx1=9;varx2=10;varresult=x1x2;//返回true此时虽然从数学概念上来说10应该大于9,但是由于字符串同位置比较原则,此时比较的是变量x1中的9和变量x2中的1,得出结论9大于1,因此