JS基础之运算符

运算符(操作符)

  • 运算符可以用来对一个或多个操作数(值)进行运算

算数运算符:

加法运算符
减法运算符
乘法运算符(不会直接取整)
除法运算符
幂运算
% 取余
- 算数运算时,除了字符串的加法,其他运算的操作数是非数值时,都会转换为数值进行运算
在这里插入图片描述
- 当任意一个值和字符串做加法运算时,他会先将其他值转换为字符串,然后在做拼串的操作
可以利用这一特点来完成类型转换可以通过为任意类型 + 一个空串的形式将其转换为字符串类型
- a= 'hello' + 'world' a= '1' + 2 //"1" + "2"

  • JS是一门弱类型语言,当运算时会通过自动的类型转换进行运算

赋值运算符

在这里插入图片描述

赋值运算符用来将一个值赋值给一个变量,将右边的值赋值给左边的变量
一个变量只有在=左边时才是变量,在=右边时它是值
大部分运算符不会改变变量的值,赋值运算符会改变

当我们对非数值类型进行正负运算时,会将其转换为数值在运算
在这里插入图片描述
- ++自增运算符
使用后会使原来的变量立刻增加1
自增分为前自增(++a)和后自增(a++)
无论是++a还是a++都会使原变量立刻加1
不同的是++a和a++返回的值不同
a++ 的值是自增前的值 旧值
++a 的值是自增后的值 新值

在这里插入图片描述
- -自增运算符
使用后会使原来的变量立刻减少1
自增分为前自减(- -a)和后自减(a- -)
无论是- -a还是a- -都会使原变量立刻减1
不同的是- -a和a- -返回的值不同
a- - 的值是自增前的值 旧值
- -a 的值是自增后的值 新值

逻辑运算符

!逻辑非

  • !可以用来对一个值进行非运算
  • 可以对一个布尔值进行取反操作
    true -->false ,false -->true
  • 如果对于一个非布尔值取反,他会将其先转换为布尔值再取反,可以利用这个特点将其他类型转换为布尔值

&& 逻辑与

  • 可以对两个值进行运算
  • 当&&左右都是true时,返回true,否则返回false
  • 与运算是短路的与,如果第一个值是false,则不看第二个值
  • 与运算是找false,如果找到false直接返回,没有找到false才会返回true
  • 对于非布尔值进行运算,他会转换为布尔值进行运算,但最终会返回原值
    • 如果第一个值false,则直接返回第一个值,如果第一个值是true,则直接返回第二个值
      在这里插入图片描述

|| 逻辑或

  • 可以对两个值进行运算
  • 当||左右有true时,则返回true,否则返回false
  • 或运算是短路的或,如果第一个值是true,则不看第二个值
    - 或运算是找true,如果找到true直接返回,没有找到true才会返回false
  • 对于非布尔值进行运算,他会转换为布尔值进行运算,但最终会返回原值
    • 如果第一个值true,则直接返回第一个值,如果第一个值是flase,则直接返回第二个值

类型转换

  • 转换为字符串
    • 显式转换
      String()
    • 隐式转换
    • +" "
  • 转换为数值
    显式转换
    Number()
    • 隐式转换
    • “+”
  • 转换为布尔值
    显式转换
    Boolean()
    - 隐式转换
    - !!

关系运算符

  • 关系运算符用来检查两个值之间关系是否成立
    成立返回true,不成立返回true
    注意
    对非数值进行关系运算时,他会先将其他类型转换为数值再比较
    当关系运算符的两端是两个字符串时,他不会将字符串转为数值,而是注逐位的比较字符的Unicode编码,
    可以利用这个特点对字符串按照字母排序
    比较两个字符串格式的数字时一定要进行类型转换
    在这里插入图片描述

相等运算符

==

  • 相等运算符,用来比较两个值是否相等
  • 使用相等运算符比较两个不同类型的值时,他会将其转换为相同的类型(通常转换为数值)然后在比较,类型转换后值相同会返回true
  • null和undefined进行比较会返回true
  • NaN不和任何值相等,包括他自身

全等运算符

===
全等运算符,用来比较两个值是否全等
他不会类型转换,如果两个值的类型不同直接返回false
null和undefined进行全等比较时会返回false

条件运算符 ? :

条件表达式 ?表达式1 :表达式2

  • 执行顺序:
    -条件表达式在执行时,会先对条件表达式进行求值判断
    如果结果为true,则执行表达式1
    如果结果为false,则执行表达式2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值