JavaScript运算符详解说明
运算符是完成一系列运算操作的符号。
算术运算符
算术运算符用来在程序中进加、减、乘、除等运算。
| 运算符 | 描述 | 
|---|---|
| + | 加运算符 | 
| - | 减运算符 | 
| * | 乘运算符 | 
| / | 除运算符 | 
| % | 求模运算符 | 
| ++ | 自增运算符。(i++:先使用,再自增;++i先自增再使用) | 
| – | 自减运算符。(i–:先使用,再自减;–i先自减再使用) | 
        let num1=10,num2=20,num3=30,sum
        console.log(num1+num2);  // 加运算
        console.log(num1-num2);// 减运算
        console.log(num1*num2);// 乘运算
        console.log(num1/num2);// 除运算
        console.log(num1%num2);// 求模运算
        console.log('sum', num1++);// 自增运算
        console.log(++num1);// 自增运算
        console.log('--',num1--);// 自减运算
        console.log(--num1);// 自减运算
 
结果

比较运算符
比较运算符用于对两个操作符进行比较
| 运算符 | 描述 | 
|---|---|
| < | 小于运算符 | 
| > | 大于运算符 | 
| <= | 小于等于运算符 | 
| >= | 大于等于运算符 | 
| == | 等于运算符。只根据表面值进行判断,不判断数据类型 | 
| === | 恒等于运算符。根据值和数据类型同时进行判断。全部相等才为真 | 
| != | 不等于运算符。只根据表面值进行判断,不判断数据类型 | 
| !== | 不绝对等于。根据值和数据类型同时进行判断。全部相等才为真 | 
        let num1=10,num2=20,num3='10',sum
        console.log(num1<num2);
        console.log(num1>num2);
        console.log(num1<=num2);
        console.log(num1>=num2);
        console.log('==',num1==num3);
        console.log(num1===num3);
        console.log('!=',num1!=num3);
        console.log(num1!==num3);
 
结果

赋值运算符
比较运算符用于对两个操作符进行比较
| 运算符 | 描述 | |
|---|---|---|
| = | 将右边表达式的值赋给左边的变量 | |
| += | 将运算符左边的变量加上右边表达式的值,再将结果赋值给左边的变量 | a+=b,相当于a=a+b | 
| -= | 将运算符左边的变量减去右边表达式的值,再将结果赋值给左边的变量 | a-=b,相当于a=a-b | 
| *= | 将运算符左边的变量乘以右边表达式的值,再将结果赋值给左边的变量 | a *=b,相当于a=a*b | 
| /= | 将运算符左边的变量除以右边表达式的值,再将结果赋值给左边的变量 | a/=b,相当于a=a+b | 
| %= | 将运算符左边的变量用右边表达式的值求模,再将结果赋值给左边的变量 | a%=b,相当于a=a%b | 
| |= | 将运算符左边的变量与右边表达式的值进行逻辑与运算,再将结果赋值给左边的变量 | a|=b,相当于a=a|b | 
| ^= | 将运算符左边的变量与右边表达式的值进行异或运算,再将结果赋值给左边的变量 | a=b,相当于a=ab | 
      let num1=30,num2=20,num3=10,sum
      console.log('sum:',sum=num2);
      console.log('sum:','num1:', num1,num1+=num2);
      console.log('sum:','num1:', num1,num1-=num2);
      console.log('sum:','num1:', num1,num1*=num2);
      console.log('sum:','num1:', num1,num1/=num2);
      console.log('sum:','num1:', num1,num1%=num2);
      console.log('sum:','num1:', num1,num1&=num2);
      console.log('sum:','num1:', num1,num1|=num2);
      console.log('sum:','num1:', num1,num1^=num2);
 
结果

逻辑运算符
比较运算符用于对两个操作符进行比较
| 运算符 | 描述 | 详解 | 
|---|---|---|
| && | 逻辑与 | a && b 。当a和b都为真时,结果才为真,否则为假 | 
| || | 逻辑或 | a || b 。当a和b至少有一个为真时,结果才为真,否则为假 | 
| ! | 逻辑非 | !a。当a为真时,结果为假,否则为真 | 
        //   &&:  两边都为真结果才为真(true);否则为假(false);
        //        只要一边结果是错误的,返回值就是false
        console.log(3 > 6 && 3 > 1);    // false
        console.log(3 > 2 && 3 > 1);    // true
        console.log(6 < 5 && 5 > 4);    // false
        // ||:  两边结果都为假结果才为假(false);否则为真
        //      只要一边结果是正确的,返回值就是true
        console.log(3 > 6 || 3 > 1);    //  true
        console.log(3 > 2 || 3 > 1);    //  true
        console.log(3 > 6 || 3 < 1);    // false
        // !  :也称为取反符,用来取一个布尔值相反的值
        console.log(!true);
        console.log(!false);
 
结果

三目运算符
操作符?结果1:结果2
表示:如果操作符的值为true,则整个表达式的结果为‘结果1’,否则为‘结果2’。
      let time= 10, time2= 6
      console.log(time < 10 ? '0' + time : time);
      console.log(time2 < 10 ? '0' + time2 : time2);
 
结果
 
位操作运算符
JavaScript的位运算符的使用详解
运算符优先级
| 优先级 | 结合 | 运算符 | 说明 | 
|---|---|---|---|
| 1 | 向左 | .、[]、() | 字段访问、数组索引、函数调用和表达式分组 | 
| 2 | ++ 、–(自减)、-、!、delete、typeof、new、void | 一元运算符、返回数据类型、对象创建、未定义的值 | |
| 3 | 向左 | *、/、% | 相乘、相除,求余数 | 
| 4 | 向左 | +、- | 相加、相减、字符串串联 | 
| 5 | 向左 | << 、>>、>>> | 左位移、右位移、无字符号右移 | 
| 6 | 向左 | <、<=、>、>=、in、instanceof | 小于、小于或者等于、大于、大于或者等于、是否为特定类的实例 | 
| 7 | 向左 | == 、!= 、=== 、 !== | 相等、不相等、全等、不全等 | 
| 8 | 向左 | & | 按位”与“ | 
| 9 | 向左 | ^ | 按位”异或“ | 
| 10 | 向左 | | | 按位”或“ | 
| 11 | 向左 | && | 逻辑与 | 
| 12 | 向右 | || | 逻辑或 | 
| 13 | 向右 | ?: | 条件运算符(也称三目运算符) | 
| 14 | 向右 | *=、/=、%=、+=、-=、<<=、>>=、>>>=、&=、^=、|= | 混合赋值运算符 | 
| 15 | 向左 | , | 多个计算 | 
优先级数字越小,表示优先级越高
附加解释
delete运算符
delete运算符是一个一元运算符。
作用:它将删除运算数所指定的对象的属性。数组元素或者变量。删除成功返回true,失败返回false。
void运算符
void运算符是一个一元运算符。
作用:它出现在操作数之前,操作数可以是任意类型,操作数会照常计算,但忽略计算结果并返回undefined。
instanceof运算符
作用:instanceof就是检查某个实例是否是由某个类或其子类实例化出来的










