1、加性运算符

运算符中有:+、-、*、/、%、()

“+” 运算符在计算的时候,任何数据类型的值+字符串都会返回字符串

  1. var a = 1 + "str"; // 1str
  2. var b = undefind + "str"; // undefindstr

数据类型相加会得出计算的结果:

  1. var a = 1 + 1; // 2
  2. var b = 1 + 2.5; // 3.5

2、乘性运算符

“/“ 运算符的使用:

  1. var a = 10,
  2. b = 5,
  3. c;
  4. c = a / b; // 2
  5. var d = 0,
  6. e = 0,
  7. f;
  8. f = d / e; // NaN,Not a Number,NaN 是 Number 类型
  9. var g = 1 / NaN; // NaN

“%” 运算符的使用:

  1. var a = 5,
  2. b = 2,
  3. c;
  4. c = a % b; // 1
  5. var d = 4,
  6. e = 6,
  7. f;
  8. f = d % e; // 4,当前面的数小于后面的数,返回前面的数

交换值的操作:

  1. var a = 1,
  2. b = 2,
  3. c;
  4. c = a;
  5. a = b;
  6. b = c;
  7. // a:2 b:1

3、递增/递减操作符

++ 或 — 在数据的后面,表示数据先进行运算,然后再进行 +1 或者 -1

  1. let age = 29;
  2. let anotherAge = age-- + 2;
  3. console.log(age); // 28
  4. console.log(anotherAge); // 31

++ 或 — 在数据的前面,表示先数据进行 +1 或者 -1 ,然后再运算

  1. let age = 29;
  2. let anotherAge = --age + 2;
  3. console.log(age); // 28
  4. console.log(anotherAge); // 30

4、比较运算符

比较运算符有:>、<、<=、==、===、!=、!==

  1. var bool = 1 < 2; // true,如果两侧都是 Number 类型会正常比较
  2. var bool = 1 > "2"; // false,如果一侧是 Number 类型,一侧是 String 类型,String 类型会被转换为 Number 类型然后再进行比较
  3. var bool = "a" < "b"; // true, 如果两侧都是 String 类型,根据对应的 ASCII 十进制码,从左到右依次对比
  4. var bool = 1 == 1; // true
  5. var bool = 1 == "1"; // true,== 会将 String 类型转换为 Number 然后进行比较
  6. var bool = 1 === 1; // true
  7. var bool = 1 === "1"; // flase,=== 不会将 String 类型转换为 Number
  8. var bool = NaN == NaN; // flase,NaN 和包括自己在内任何东西都不相等

5、布尔操作符

在布尔比较的过程中,undefindnullNaN""0false均为假,其余都是真。

1、逻辑与 &&
逻辑与操作符两边必须都满足条件才会返回 true

&& 遇到真就往后走,遇到假就返回或者走到最后就返回当前的值
有一个不满足即为 false:

  1. var a = 1 && 1; // 1,true
  2. var a = 0 && 1; // 0,false
  3. var a = 1 && 0; // 0,false
  4. var a = 0 && 0; // 0,flase
  5. var a = 1 && 2; // 2,true
  6. var a = 1 && 2 && undefined && 10; // undefind,flase

2、逻辑或 ||
逻辑或操作符两边有一边满足条件就会返回true

|| 遇到假就往后走,遇到真或者走到最后就返回当前的值
有一个满足即为 true

  1. var a = 1 || 1; // 1,true
  2. var a = 0 || 1; // 1,true
  3. var a = 1 || 0; // 1,true
  4. var a = 0 || 0; // 0,false

3、逻辑非
这个操作符始终返回布尔值,无论应用到的是什么数据类型。逻辑非操作符首先将操作数转换为布尔值,然后再对其取反。

  1. var a = !1; // false
  2. var a = !!1; // true

6、if 语句

  1. if (condition) {
  2. statement1
  3. } else {
  4. statement2
  5. }
  6. // 或者
  7. if (condition) statement1
  8. else statement2

condition 可以是任何表达式,并且求值结果不一定是布尔值。ECMAScript 会自动调用 Boolean() 函数将这个表达式的值转换为布尔值。

7、switch 语句

  1. switch (expression) {
  2. case value1:
  3. statement
  4. break;
  5. case value2:
  6. statement
  7. break;
  8. case value3:
  9. statement
  10. break;
  11. case value4:
  12. statement
  13. break;
  14. default:
  15. statement
  16. }

每个case相当于:“如果表达式等于后面的值,则执行下面的语句。”
break关键字会导致代码执行跳出switch语句。如果没有break,则代码会继续匹配下一个条件。
default关键字用于在任何条件都没有满足时指定默认执行的语句(相当于 else 语句)。

8、注释

  1. // 在 JavaScript 的单行注释
  2. /**
  3. * 在 JavaScript 的块注释
  4. * 1
  5. * 2
  6. * ...
  7. * */