01 算术运算符

  1. //+ - * / %
  2. var a = 10,b = 4;
  3. console.log(a+b);//14
  4. console.log(a-b);//6
  5. console.log(a*b);//40
  6. console.log(a/b);//2.5
  7. console.log(a%b);//2

02 关系运算符

  1. //< > == !=
  2. var a = 10,b = 4;
  3. console.log(a<b);//false
  4. console.log(a>b);//true
  5. console.log(a==b);//false
  6. console.log(a!=b);//true

03 逻辑运算符

  1. /* && || ! */
  2. var a = 10,b = 4;
  3. console.log(10>20 && 10>5);//true
  4. console.log(10<20 && 10>5);//false
  5. console.log(10>20 && 10<5);//false
  6. console.log(10>20 || 10>5);//true
  7. console.log(10<20 || 10>5);//true
  8. console.log(10<20 || 10<5);//false
  9. console.log(!(10<5));//True
  10. console.log(!(10>5));//false

04 赋值运算符

  1. //+= -= *= /=
  2. //a+=b-->a=a+b
  3. var a = 10;
  4. console.log(a+=4)

05 三元表达式

  1. /*
  2. 表达式 (expr1) ? (expr2) : (expr3)
  3. 在 expr1 求值为 TRUE 时的值为 expr2,
  4. 在 expr1 求值为 FALSE 时的值为 expr3。
  5. */
  6. //if-else的一种简写
  7. var a=(10>4)?"true":"false"

06 ++、—

  1. var a = 10 ,b = a++ +10,
  2. c = ++a +10, d = a++ +20 + a++;
  3. //b--> b=a+10,a=a+1,a++ 先运算后自增
  4. //c--> a=a+1,c=a+10 先自增后运算
  5. //d--> d=a+10,a=a+1,d=a+10+a,a=a+1
  6. console.log(a)
  7. console.log(b)
  8. console.log(c)

07 隐式转换

1.减法运算符

  1. //+起拼接作用,-强制转换成number
  2. console.log("11"+1-true)//"111" 111-1=110
  3. // 在算术计算中先将数据转换为number,再计算
  4. var a = true;
  5. var b = "13";
  6. var c = b-a;
  7. /* var c = Number(b)-Number(a) */
  8. console.log(c) // 输出12
  9. "true1"-1 // NaN

2.加法运算符

  1. // + 运算符 特殊:遇到字符串变为 拼接符
  2. var a = "10";
  3. var b = 1;
  4. var c = true;
  5. console.log(a+b-c) // 101-1= 100
  6. console.log(a+b+c) // 101true
  7. console.log(a-b+c) // 10
  8. console.log(a+c-b) // NaN
  9. // NaN和任何数值去计算,结果都是NaN
  10. "1"-9+"true"-parseInt(12.34) // NaN
  11. "9"-8+"false" // 1false
  12. "9"-8-"false" // NaN

3.比较运算符

  1. //>,<,== 返回的是boolean
  2. //先将两边的值转为number,再比较
  3. //NaN和任何值作比较,结果都为NaN
  4. //===不仅值相等,类型也要相同
  5. var a = true;
  6. var b = "10"
  7. var c = "hello"
  8. console.log(a>b) // Number(a)>Number(b) 1>10 false
  9. console.log(a>c) // Number(a)>Number(c) 1>NaN false
  10. console.log(Boolean(NaN)) // false
  11. // NaN和任何值作比较,结果都为NaN
  12. console.log(3=="3.00"); //true
  13. console.log(3==="3")