基本运算符

算术运算符 +(加) ——(减) *(乘) /(除) %(取余数)
复合赋值运算符 -= += *= /= %=
自增自减运算符 -- ++
比较运算符 > < >= <= ==(比较的时候做类型转换) ===(全等于:值 数据类型都一样才算相等) !=
逻辑运算符 && 与 |或 !非
三元运算符
短路运算符

逗号表达运算符:

逗号表达式的一般形式是:表达式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;

原文地址:https://www.cnblogs.com/yangguoe/p/7943711.html