运算符(operator)也被称为操作符,是用于实现赋值、比较和执行算数运算等功能的符号。
JavaScript 中常用的运算符有:

  • 算数运算符
  • 递增和递减运算符
  • 比较运算符
  • 逻辑运算符
  • 赋值运算符

    1.算术运算符

    算术运算使用的符号,用于执行两个变量或值的算术运算。
运算符 描述 实例
+ 10 + 20 =30
- 10 - 20 =-10
* 10 * 20 =200
/ 10 / 20 =0.5
% 取余数(取模) 返回出发的余数 9 % 2 =1

注意:浮点数的精度问题

  • 浮点数值的最高精度是17位小数,但在进行算数计算时其精确度远远不如整数。
    1. //所以不要直接判断两个浮点数是否相等
    2. var result=0.1 + 0.2
    3. console.log(result) //0.30000000000000004
    4. console.log(0.07*100) //7.000000000000001

    2.递增和递减运算

    递增(++)
    递减(- -)
    放在变量前面时,我们称为前置递增(递减)运算符
    放在变量后面时,我们称为后置递增(递减)运算符
    注意:递增和递减运算符必须和变量配合使用。

2.1前置递增运算符

  1. var num = 10;
  2. //先自加,后返回值
  3. alert (++num + 10); // 21

2.2后置递增运算符

var num = 10;
//先返回原值,后自加
alert(10 + num++); // 20

3.比较(关系)运算符

两个数据进行比较时所使用的运算符,比较运算后,会返回一个布尔值(true / false)作为比较运算的结果。

console.log(1 < 2)   true
console.log(1 > 2)     false
console.log(1 == 2)  false
console.log(1 >= 1)  true
console.log(1 != 2)  true
console.log(1==='1') false
console.log(18 == '18');        //true
console.log(18 === '18');        //false
console.log(18 === 18);          //true
符号 作用 用法
= 赋值 把右边给左边
== 判断 判断两边值是否相等(注意此时有隐士转换)
=== 全等 判断两边的值和数据类型是否完全相同

4.逻辑运算符

逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值

逻辑运算符 说明 案例
&& ‘’逻辑与”,简称”与” and true && false
|| “逻辑或”,简称”或” or true || false
“逻辑非”,简称”非” not !true

逻辑与:两边都是 true才返回 true,否则返回 false
逻辑或:两边都为 false 才返回 false,否则都为true
逻辑非:逻辑非(!)也叫作取反符,用来取一个布尔值相反的值,如 true 的相反值是 false

4.1逻辑与

两边都是 true才返回 true,否则返回 false

console.log(123 && 456)           //456
console.log(0 && 456)             //0
console.log(123 && 456 && 789)    //789

4.2逻辑或

两边都为 false 才返回 false,否则都为true

console.log(123 || 456);    //123
console.log(0 || 456);      //456
console.log(123 || 456 || 789);  //123

4.3逻辑非

var isOk = !true;
console.log(isOk);  // false
//逻辑非(!)也叫作取反符,用来取一个布尔值相反的值,如 true 的相反值是 false

5.赋值运算符

概念:用来把数据赋值给变量的运算符。

赋值运算符 说明 案例
= 直接赋值 var usrName = ‘我是值’
+= ,-= 加,减一个数后再赋值 var age = 10; age+=5;//15
*=,/=,%= 成,除,取模后再赋值 var age = 2; age*=5; //10
var age = 10;
age += 5;  // 相当于 age = age + 5;
age -= 5;  // 相当于 age = age - 5;
age *= 10; // 相当于 age = age * 10;