JS运算符及其应用
一.JavaScript 运算符
1.算术运算符
进行数学运算的符号
+ - * / %
+:当符号两边都是数字或布尔的时候,会进行数学运算,但当有一边是字符串的时候,则会变成字符串的拼接
2.赋值运算符
进行赋值操作的符号 =
3.比较运算符
进行比较运算的符号 > < >= <=
==(等于) ===(全等于)
!=(不等于) !==(不全等于)
3.1字符串和数值进行比较(字符串会自动转为数值)
1 //字符串和数值进行比较 2 conso1e.1og(1>2); //fa1se 3 console.log('123' > 213); //false自动转为number 4 console.1og("123A" > 213); //fa1se 自动转为number 如果不能转就会出现NaN
3.2出现NaN一般都是false
console.log(NaN==NaN); //false
3.3undefined是null的派生所以对应的值是相等的
1 //undefined (nu71的派生子类)和 nu11 2 console.log(undefined == null); //true 3 console.log(undefined === null);//false
3.4字符串和字符串进行比较(第一位ASCII码比较A:65 a:97)
1 //宁符串和宁符串比较(ASCII码A:65 a:96自动进行ASCII码的比较 比较第一位的 2 console.1og('a' > 'b'); //fa1se 3 console.log("a" < 'b'); //true 4 console.log("bAA" < 'azz');//fa1se
3.5布尔类型的值与null进行比较
1 //boolean类型的值和null进行比较 自动转数值(出现NaN就是false) 2 console.log(true > null); //true 3 console.log(true > undefined); //false
3.6先转换再进行比较
1 //恒等: 这个两个内容是一个内容 2 console.log(Number(true)==1); //true 3 console.log(Number(true)===1); //true 4 console.log(boolean(0)===false); //true
1 //fundefined和0进行比较 2 console.log(undefined == 0);//NaN false 3 //null是空对象引用,对应的是一个引用类型,引用类型比较的是地址 4 //null和0进行比较: 5 console.log(null == 0);
4.逻辑运算符
进行逻辑运算的符号
&&:与 运算
||:或 运算
!:非 运算
4.1逻辑运算符的应用
1 var a=10,b=20,c=30; 2 console.log(a>b && b<c); //false 3 console.log(a<b && c>b); //true 4 5 // ||有一个true就是true,前面只要有一个true就不看后面的,短路或(| 是断路或) 6 console.log(a<c || a>c);//true 7 8 // !取反 9 console.log(!a>b); //false 这里是对a取反,不是对a>b取反 10 console.log(!(a>b));//true,对a>b这个式子取反 11 console.log(!(c>b) || a>b); //false 12 13 //如果每一个都是false,取最后一个 14 var str1 = undefined || ''; 15 console.log(str1); //'' 16 17 //如果有true,则取第一个为true的 18 var str2 = 'A' || 'a'; 19 console.log(str2); //A 20 21 //三目运算符 三目运算符的优先级低于逻辑运算符 22 var str3 = (10 > 20 ? '':'123') || (20 > 10 ? '':'345'); 23 console.log(str3);//123
5.自增自减运算符
单独对一个变量进行 +1 或 -1 操作的符号 ++ -- 分前置和后置两种情况
!!! ()前面不能直接写++ / --
6.位运算 (化为二进制再进行位的变化运算)
>>右移 <<左移 ~~去掉小数
计算顺序:先算括号,++或-- ----> 乘除取余 ----> 比较运算 ----> 逻辑运算 ----> 赋值
7.三元运算符(三目运算)
表达式(boolean类型表达式)? true的内容 :false的内容
1 var a = 10; 2 var b = 20; 3 a>b ? 10:20 //20 4 '123a' / 10 ? 'hello':'hi' //hi

浙公网安备 33010602011771号