> 文档中心 > JavaScript基础之运算符

JavaScript基础之运算符

文章目录

  • 前言
  • 1.算术运算符
        • 1.1浮点数的精度问题
        • 1.2递增和递减运算符
  • 2.比较(关系)运算符
  • 3.逻辑运算符
  • 4.短路运算
  • 5.赋值运算符

前言

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


1.算术运算符

概念:算术运算使用的符号,用于执行两个变量或值的算术运算

运算符 描述 实例
+ 10 + 20 =30
- 10 - 20 =-10
* 10 * 20 =200
/ 10 / 20 =0.5
% 取余数(取模) 返回出发的余数 9 % 2 =1

1.1浮点数的精度问题

浮点数值的最高精度是17位小数,但在进行算数计算时其精确度远远不如整数

<script>    console.log(0.2 + 0.4);  //0.6000000000000001    console.log(0.2 * 0.4);  //0.08000000000000002</script>

tips:

  • 非必要,不要用浮点数进行计算,容易出现精度误差

1.2递增和递减运算符

递增和递减运算符分为前置后置,例如(i++)是后置,(++i)是前置,具体区别参见下文

①前置递增运算符

使用口诀:先自加,后返回值

<script>    var index = 3;    console.log((index++) + 1);  //4    console.log(index);  //3</script>

②后置递增运算符

使用口诀:先返回原值,后自加

<script>    var index = 3;    console.log((++index) + 1);  //5    console.log(index);  //3</script>

③总结

  • 前置递增和后置递增运算符可以简化代码的编写,让变量的值 + 1 比以前写法更简单
  • 单独使用时,运行结果相同,与其他代码联用时,执行结果会不同
  • 开发时,大多使用后置递增/减,并且代码独占一行

2.比较(关系)运算符

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

运算符名称 说明 举例 结果
< 小于号 2 < 3 true
> 大于号 3 > 2 false
>= 大于等于号(大于或者等于) 1 >= 1 true
<= 小于等于号(小于或者等于) 5 <= 4 false
== 判等号(会转型) 15==15 true
!= 不等号 18 != 18 false
=== 全等,要求值和数据类型都一致 18 === ‘18’ false

3.逻辑运算符

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

逻辑运算符 说明 案例 结果
&& “逻辑与”,简称"与" and true && false false
|| “逻辑或”,简称"或" or true || false true
“逻辑非”,简称"非" not !true false
<script>    if (3 > 0 && -1 < 0) console.log('true');  //true    else console.log('false');    if (!3 || 3 < 0) console.log('true');  //true    else console.log('false');</script>

4.短路运算

短路运算的原理:当有多个表达式(值)时,左边的表达式值可以确定结果时,就不再继续运算右边的表达式的值

①逻辑与

  • 如果第一个表达式的值为真,则返回表达式2
  • 如果第一个表达式的值为假,则返回表达式1
<script>    var index = 0;    console.log(3 && (++index));      //3,执行语句1后直接输出结果3    console.log(index);  //0,index的值没有变</script>

②逻辑或

  • 如果第一个表达式的值为真,则返回表达式1
  • 如果第一个表达式的值为假,则返回表达式2
<script>    var index = 0;    console.log(3 || (++index));  //true    console.log(index);  //0</script>

5.赋值运算符

赋值运算符用来把数据赋值给变量的运算符

赋值运算符 说明 举例
= 直接赋值 var index=18;
+= ,-= 加,减一个数后再赋值 var index=3; index+=2;//5
*=,/=,%= 成,除,取模后再赋值 var age=1; age*=3; //3
<script>    var index = 10; console.log(index);  //10    index += 5; console.log(index);  //15    index *= 4; console.log(index);  //60</script>

书本网