基本运算符
算术运算符 +(加) ——(减) *(乘) /(除) %(取余数)
复合赋值运算符 -= += *= /= %=
自增自减运算符 -- ++
比较运算符 > < >= <= ==(比较的时候做类型转换) ===(全等于:值 数据类型都一样才算相等) !=
逻辑运算符 && 与 |或 !非
三元运算符
短路运算符
逗号表达运算符:
逗号表达式的一般形式是:表达式1,表达式2,表达式3……表达式n
逗号表达式的求解过程是:先计算表达式1的值,再计算表达式2的值,……一直计算到表达式n的值。最后整个逗号表达式的值是表达式n的值。
比如:
1 var x= 0,y= 0,z=0; 2 var result = (x=8*2,x*4) /*整个表达式的值为64,x的值为16*/ 3 console.log(result) 4 console.log(x) 5 6 x=(z=5,5*2) /*整个表达式为赋值表达式,它的值为10,z的值为5*/ 7 console.log(x) 8 console.log(z) 9 10 x=z=5,5*2 /*整个表达式为逗号表达式,它的值为10,x和z的值都为5*/ 11 console.log(x) 12 console.log(z)
短路运算符:逻辑与(&&) 和 逻辑或(||)
1、逻辑与 && 的运算方式
var a = 5 && 6;
console.log(a); //返回的结果为 6
如果逻辑与运算符左边的值布尔转换后为true,那么返回右边的值(不管右边的值是真还是假)。
var a = false && 6;
console.log(a); //返回的结果为 false
如果逻辑与运算符左边的值布尔转换后为false,那么返回左边的值,但是当逻辑与的左边为 null/NaN/undefined ,结果就会得到null/NaN/undefined。
2、逻辑或 || 的运算方式
var a = false || 6;
console.log(a); //返回的结果为 6
如果逻辑或运算符左边的值布尔转换后为false,那么返回右边的值(不管右边的值是真还是假)。
var a = true || 6;
console.log(a); //返回的结果为 true
如果逻辑或运算符左边的值布尔转换后为true,那么返回左边的值,如果两个操作数都是是null(NaN/undefined),返回null(NaN/undefined)
注意:1是true;0是false;字符串除了空字符串都是true;function和objec都是true,null和undefined都是false;