JavaScript基础之运算符

前言

运算符(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 < 3true
>大于号3 > 2false
>=大于等于号(大于或者等于)1 >= 1true
<=小于等于号(小于或者等于)5 <= 4false
==判等号(会转型)15==15true
!=不等号18 != 18false
===全等,要求值和数据类型都一致18 === ‘18’false

3.逻辑运算符

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

逻辑运算符说明案例结果
&&“逻辑与”,简称"与" andtrue && falsefalse
||“逻辑或”,简称"或" ortrue || falsetrue
“逻辑非”,简称"非" not!truefalse
<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>
  • 29
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 19
    评论
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值