JavaScript——运算符

 运算符

+,-,*,/,加减乘除等都是运算符,实现赋值,比较和执行算数运算等功能的符号。

算数运算符

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

运算符描述例子
+1+1=2
-1-1=0
*1*1=1
/1/1=1
%取余(取模)5%2=1

注意⚠️    浮点数  运算会有些问题。   浮点数的精度有问题,不要直接判断两个浮点数是否相等

alert(0.1 + 0.2) //运算出来的结果是:0.30000000000000004
alert(0.07 * 100) //运算出来的结果是:7.000000000000001
表达式和返回值

表达式是由数字,运算符,变量等组成的式子,例:33+33

表达式最终得到的结果就是返回值

程序中  =号的左边是返回值,右边是表达式。例:66 = 33 + 33

递增和递减运算符

递增:++

递减:--

注意⚠️   递增和递减必须和变量配合使用  (错误示范:++1)

递增和递减可放在变量的前面或者后面,前置和后置若单独使用,返回值是一样的

如果放在变量前面为前置递增(递减),先自加(减)一,然后在返回值

var age = 10;
++age  //返回值为11  age = age + 1

放在变量后面则为后置递增(递减),先返回原值,后自加一

var num = 10;
console.log(num++ + 10);  //最终打印出的结果为20  
console.log(num)  //打印出来的结果为11
//因为js的运行时从上往下算,所以第二步算完后num进行了+1,所以第三步的num打印出来为11.
var a = 10;
var b = a++ + ++a;  //最后得出来的结果是22
//a++ 先返回原值 =10 ,然后再进行+1 得出来a=11,最后++a=11+1=12,所以b = 10 + 12 =22
var a = 10;
var b = a-- + --a;
//a--  先返回原值为10,然后再进行-1,a=9,然后--a 运算先自减,=a-1 =9-1 =8  
console.log(b); //最终b的返回值是18
  • 开发时,大多使用后置递增递减,并且代码独占一行,如:num++或num--
  • 前置递增递减和后置递增递减可以简化代码的编写,让变量的值+1 
  • 单独使用时,运算结果相同
  • 与其他代码联用时,执行结果会不同
  • 前置:先自加一,后运算(先己后人)
  • 后置:先原值运算,后自加(先人后己)
比较运算符

比较运算符(关系运算符)是两个数据进行比较时所使用的运算符,比较运算后

返回一个布尔值(true/false)作为比较运算的结果

运算符名称说明案例结果
<小于号1<2true
>大于号1>2false
>=大于等于号2>=2true
<=小于等于号3<=2false
==判等号(会转型)2==2true
!=不等号2!=2false
===     !==全等要求值和数据类型都一致2==='2'false

注意⚠️这里的 == 运算符

console.log(1 == '1') //这里的返回值时true,因为会自动转型
符号作用用法
=赋值把右边的给左边
==判断

判断两边值是否相等(注意此时有隐式转换)

===全等判断两边的值和数据类型是否完全相同
逻辑运算符

逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值,经常用于多个条件的判断

逻辑运算符说明例子
&&“逻辑与” 简称 “与” and true&&false
||“逻辑或” 简称 “或” ortrue||false
“逻辑非” 简称 “非” not!true

  • 逻辑与 && 两侧都为true 结果才为true  只要有一侧为false 结果就为false
  • 逻辑或|| 两侧都为false 则为false,只要有一侧为true,结果就为true
  • 逻辑非 !   !true的结果为false——取反符
短路运算(逻辑中断)

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

逻辑与
  • 表达式1 && 表达式2
  • 如果第一个表达式的值为true,则返回表达式2
  • 如果第一个表达式的值为 false,则返回表达式1
console.log(123 && 456) //123为true,所以返回值为表达式2即456
console.log(0 && 123)  //0为false,所以返回值为表达式1即0
//如果有空的或者否定的为false,其余式真的,false: 0 '' null undefined NaN
逻辑或 
  • 表达式1 || 表达式2
  • 如果第一个表达式的值为true,则返回表达式1
  • 如果第一个表达式的值为false,则返回表达式2 
console.log(123 || 456) //返回的是123
console.log(0 || 123) //返回的是123
//例子
var a = 0;
console.log(123 || a++);
console.log(a); //这里的a的返回值为0,以为短路运算,只运行到123,后面的a++未运行
赋值运算符

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

赋值运算符说明例子
=直接赋值var num = 1
+=,-=加减一个数后再赋值var num = 2;num += 1;//最后结果为3
*=,/=,%=乘除取模后再赋值var num = 2;num *= 5;//结果为10 

 

运算符优先级
优先级运算符
1小括号()
2一元运算符++  --  !
3算数运算符先*/%后+ -
4关系运算符>   >=    <   <=
5相等运算符==    !=   ===     !==
6逻辑运算符先&& 后||
7赋值运算符=
8逗号运算符

一元运算符里面的逻辑非即(!)优先级很高 

逻辑与&&比逻辑或||优先级高 

  • 19
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值