一、 逻辑运算符用于测定变量或值之间的逻辑。常见的布尔运算符有以下三种: 1、非运算符(!) 取反 表达式的值为假的时候,运算结果为真 例子: var f1 = false; var f2 = false; var t1 = true; var t2 = true; console.log(!f1); console.log(!t1); 2、与运算符(&&) 当运算符两端的表达式值均为真时,运算结果为真,否则为假 例子: var f1 = false; var f2 = false; var t1 = true; var t2 = true; console.log(f1 && f2 && t1); console.log(t1 && f1); console.log(t1 && t2 ); 注意: ①&&当前面的表达式为false 则不再计算后面的表达式 var num1 = 20; var num2 = 30; var result = num2 < num1 && num2++ > num1++; console.log(result, num1, num2);//false 20 30 ②&& 当两边的数值为正性时 输出后面的值 当前面的值为负性时 输出前面的值 var r1 = 0 && 30; console.log(r1);//0 r1 = 10 && 30; console.log(r1);//30 3、 或运算符(||) 当运算符两端的表达式值有一个为真,运算结果为真,都为假时结果才假 var f1 = false; var f2 = false; var t1 = true; var t2 = true; console.log(f1 || f2 || t1); console.log(t1 || f1); console.log(t1 || t2 ); console.log(f2 || f1 ); 注意: ①|| 当前面的表达式为true时 不再计算后面的表达式 var num1 = 20; var num2 = 30; var result = num2 > num1 || num2++ < num1++; console.log(result, num1, num2); ②|| 当前面的数值为true时 输出前面的值 否则输出后面的值 r1 = 0 || 20; console.log(r1);//20 r1 = 10 || 20; console.log(r1);//10
/* 二、三元条件运算符用问号(?)和冒号(:),分隔三个表达式。 如果第一个表达式的布尔值为true, 则返回第二个表达式的值,否则返回第三个表达式的值。 X?Y:Z; 例子: var num1 = 20; var num2 = 30; var result = num1 > num2 ? num1 : num2; console.log(result); var result = prompt('弹窗的描述','默认值 可有可无的'); result的类型永远是string 一行三目求三个数的最大值 */ var num1 = parseInt(prompt('请您输入一个数')); var num2 = parseInt(prompt('请您输入一个数')); var result = num1 > num2 ? num1 : num2; console.log(result);//21 // console.log(typeof num1,typeof num2); //字符串比较的是对应的编码值 而且是逐位比较 /* 110 200 345 var a = 'a'; var b = "B"; console.log(a > b);*/ console.log('100' > 21);