编程向导-JavaScript-基础语法-运算符优先级

本文详细介绍了编程中的运算符优先级、结合性概念,以示例说明了不同类型的运算符(如算术、逻辑、位操作等)的执行顺序,并以`foo`和`bar`为例进行讲解。
摘要由CSDN通过智能技术生成

梦里繁花落尽,此情未央,此意难忘,弦虽断,曲犹扬。!

与技术共同呼吸,与程序员共命运。世树科技 承“技驱动,理致胜”理念、国风编程。

运算符优先级

运算符的优先级决定了表达式中运算执行的先后顺序,优先级高的运算符最先被执行。

结合性

结合性决定了拥有相同优先级的运算符的执行顺序。考虑下面这个表达式:

a OP b OP c
  • 左结合(左到右)相当于把左边的子表达式加上小括号 (a OP b) OP c

  • 右关联(右到左)相当于 a OP (b OP c)

赋值运算符是右关联的,所以你可以这么写:

a = b = 5;

结果:ab 的值都会成为 5。这是因为赋值运算符的返回结果就是赋值运算符右边的那个值,具体过程是:b 被赋值为 5,然后 a 也被赋值为 b=5 的返回值,也就是 5。

汇总表

以下示例中使用 foobar 作为演示变量或表达式。

优先级运算类型关联性运算符示例
20分组表达式N/A(foo)
19属性访问器从左到右foo.bar
属性访问器从左到右foo[bar]
实例化对象(带参数列表)N/Anew Foo(bar)
函数调用从左到右foo()
18实例化对象(无参数列表)从左到右new Foo
17更新表达式(后置递增)N/Afoo++
更新表达式(后置递减)N/Afoo--
16逻辑运算符(逻辑非)从右到左!foo
按位非~foo
一元加法+foo
一元减法-foo
更新表达式(前置递增)++foo
更新表达式(前置递减)--foo
typeoftypeof foo
voidvoid foo
deletedelete foo
awaitawait foo
15算术运算符(幂)从右到左foo ** bar
14算术运算符(乘法)从左到右foo * bar
算术运算符(除法)foo / bar
算术运算符(取模)foo % bar
13算术运算符(加法)从左到右foo + bar
算术运算符(减法)foo - bar
12按位左移从左到右foo << bar
按位右移foo >> bar
无符号右移... >>> bar
11小于从左到右foo < bar
小于等于foo <= bar
大于foo > bar
大于等于foo >= bar
infoo in bar
instanceoffoo instance bar
10等号从左到右foo == bar
非等号foo !== bar
全等号foo === bar
非全等号foo !== bar
9按位与从左到右foo & bar
8按位异或从左到右foo ^ bar
7按位或从左到右foo | bar
6逻辑运算符(逻辑与)从左到右foo && bar
5逻辑运算符(逻辑或)从左到右foo || bar
4条件运算符从右到左foo ? foo : bar
3赋值运算符从右到左foo = bar
赋值运算符foo += bar
赋值运算符foo -= bar
赋值运算符foo *= bar
赋值运算符foo /= bar
赋值运算符foo %= bar
赋值运算符foo <<= bar
赋值运算符foo >>= bar
赋值运算符foo >>>= bar
赋值运算符foo &= bar
赋值运算符foo ^= bar
赋值运算符 foo |= bar
2yield从右到左yield foo
yield*yield* foo
1扩展运算符N/A...foo
0逗号运算符从左到右foo, bar
  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wtrees_松阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值