操作符运算

学习总结自沙翼老师的前端音频教程#陪你读书(JavaScript WEB前端)#(喜马拉雅)

一元操作符(9个)
  1. 定义:只可以操作一个表达式的符号
  2. 一元加、一元减、递增加、递增减、按位非、逻辑非、typeof、delete、void
    • 一元加/减:将表达式转换成数字
    • typeof:用于判断数据类型
    • delete:删除对象属性
    • 逻辑非(!*):转换成布尔类型之后取反 !!a相当于将操作数转换成布尔类型
    • void:无论表达式是什么,都返回void

以下使用 a 代替操作数(仅分析一元加/减递增加/减):

1. 一元加/减

一元加(+a)/一元减(-a)

  • 相同点:判断操作数a是否是数值类型,如果不是,将操作数a先转换成数值类型

  • 不同点:一元减取负数

  • 应用:将表达式转换成数字

var b = false 
-b // false => 0 => -0

在这里插入图片描述

2. 递增加/减

类型(2种):前置递增加/减(++a / --a)、后置递增加减(a++ / a–)

  • 区别:前置递增加/减自加自减后再执行包含其的语句,后置递增加/减先执行包含其的语句再自加自减
var a = 4
var b = 6
var c = ++a + b--
// ++a(前置:自加后执行语句)=> (++a) = 5, a = 5
// b--(后置:执行语句后自减)=> (b--) = 6, b = 5
// c = (++a) + (b--) => 5 + 6 => 11 

在这里插入图片描述

操作符运算三特点
1. 优先级

属性访问 > 一元操作符 > 乘除 > 加减 > 比较 > 相等 > 与运算 > 或运算 > 三目运算 > 赋值运算

  • 属性访问优先级最高(obj.name / obj[‘name’)
  • 一元操作符次之
  • 赋值运算最低
  • 乘除大于加减(同数学)
  • 相等 > && > ||
2. 结合性

左/右结合:从左/右开始运算

  • 当操作符优先级相同的时候
  • 其中只有一元运算符、赋值运算符、三目运算符从右往左运算
3. 运行顺序

当表达式中含有表达式的的时候,从左往右运算

应用
var a = 1
!a++ // false

在这里插入图片描述

x = a ? b : c ? d : e ? f : g
// 根据结合性:三目从右开始运算
x = a ? b : (c ? d : (e ? f : g))
var a = 1
var b = a++ + ++a
// 根据运行顺序:从左往右
1. 计算b
2. 计算a++,(a++=> 1,此时 a = 2
3. 计算+
4. 计算++a,(++a)=> 2+1 => 3,此时 a = 3
5. 计算结果 b = (a++) + (++a) => 1 + 3 => 4

在这里插入图片描述

var a = 1
b = a+++a // b = 3, a = 2

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值