1. **操作符**用于在代码中实现数学上的各种操作方式

2.1 算数操作符

传统意义上的加减乘除和取余操作

  • + :加法操作符 用于数字之间的相加,字符型隐式转换,在有字符串参与的情况下,可以将其他的类型转换成字符串再拼接起来

    1. var sum = '1' + 3; // '13'
  • - :减法操作符,数值型隐形转换,当操作符两个至少有一个数值型(Number),另外一个也会转换成数值型

    1. var sum = '5' - 3; //sum = 2
  • */:乘除操作符,也是数值型隐性转换

  • %:取余操作符,输出余数
    1. var num = 9 % 2; //sum = 1

    浮点型操作时精度会有偏差

    1. var result = 0.1 + 0.2; //结果不是 0.3,而是:0.30000000000000004
    2. console.log(0.07 * 100); //结果不是 7, 而是:7.000000000000001
    建议当前阶段不要使用浮点型

    2.2 递增递减操作符

    自己自身增加或者减少的操作符,通常加给变量

    1. 递增运算符

    前置递增:
    加载变量的前方,由两个+组成,样式为:++num,含义为自加1
  1. var num = 10;
  2. sum = ++num + num; //sum=22 ++num表示在算数之前就开始自增 num=11
  1. **后置递增:**<br />写在变量的后面,表示当参与完操作后再字加
  1. var num = 10;
  2. sum = num + num++; //sum=20 num=11,在算数完毕后自增

2. 递减运算符

递减操作符方法与递增操作符使用方法类似

2.3 关系操作符

在两个数值进行比较时使用,不一定局限于数值型,比较后返回一个布尔值(true / falses)作为比较结果

  1. console.log(1<2) // 小于 输出true
  2. console.log(1>2) // 大于 输出false
  3. console.log(2>=2) // 大于等于 输出true
  4. console.log(3<=2) // 小于等于 输出false
  5. console.log(44==44) // 判等号,判断是否相等 输出true
  6. console.log(33!=33) // 不等号,判断两边是否不等 输出false
  7. console.log(33===33)
  8. console.log(33!==33) // ===和!==两个都是全等型,要求值和类型都必须进行判定相等还是不等 输出为false

1. 等号比较

= 赋值 把右边值给左边
== 判断 判断符号两边值是否相等
=== 全等 判断符号两边的值是否相等,且类型相等。

2.4 逻辑操作符

逻辑操作符输出布尔值,用来进行多个条件的判断

  1. 条件1 && 条件2 //条件1 和条件2必须都成立才为true,其他情况全为false
  2. 条件1 || 条件2 //条件1 和条件2只要有一个成立就为true
  3. !条件 //与等号里的!用法相同 当条件为true时输出为false,与条件布尔值相反

逻辑与 &&

两边都是 true 才返回 true,否则返回 false
只有一种情况下是 true,两边都是 true 才返回 true,其他的情况都是false
2. 操作符 - 图1
2. 操作符 - 图2

逻辑或 ||

只要由一边为true,那么就是true。只有一种情况为false,就是两边为false,结果才为false。其他的情况都是true

2. 操作符 - 图3
2. 操作符 - 图4

逻辑非 !

逻辑非(!)也叫作取反符,用来取一个布尔值相反的值,如 true 的相反值是 false

  1. var value = true;
  2. console.log(!value); //false

逻辑中断

短路操作的原理:
当有多个表达式(值)时,按照从左往右、从上往下的顺序,先执行的表达式可以确定结果时就不会再继续执行接下来的表达式。
逻辑与:

  1. console.log( 233 && 666 ); // 与运算符在两个值都同为true或false时才返回最后执行的表达式 666
  2. console.log( 0 && 456 ); // 当至少一个为false时 确认为假,返回最后执行的表达式 0
  3. console.log( 123 && 456&& 789 ); // 综上,返回最后执行的表达式 789
  1. 逻辑或
  1. console.log( 123 || 456 ); //逻辑或在确认一个为true时可以得到true的结果,返回最后执行的表达式 123
  2. console.log( 0 || 456 ); //第一个表达式为false,需要确认第二个表达式是否为true来确认结果 456
  3. console.log( 123 || 456 || 789 );//第一个为真即可得到结果并返回最后执行的表达式 123

2.5 赋值操作符

2. 操作符 - 图5

2.6 操作符优先级

2. 操作符 - 图6

2.6 条件操作符(三元表达式)

条件操作符是用途最广泛的操作符之一

  1. 变量 = 条件表达式 ? true表达式 : false表达式;

根据变量的条件表达式的值来判断赋值,如果是true,就返回true表达式值。如果是false,返回false表达式的值
例子:

  1. let max = (num1 > num2) ? num1 : num2;

判定返回 最大值在这个例子中,max 将被赋予一个最大值。这个表达式的意思是,如果 num1 大于 num2(条件表达式为true),则将 num1 赋给 max。否则,将 num2 赋给 max