JavaScript运算符优先级

JavaScript 运算符优先级,是描述在计算机运算计算表达式时执行运算的先后顺序。 先执行具有较高优先级的运算,然后执行较低优先级的运算。 例如,我们常说的先执行相乘和除,再执行加减运算。

JavaScript 运算符

优先级

运算符

说明

结合性

1

[].()

字段访问、数组索引、函数调用和表达式分组

从左向右

2

++ -- -~!delete new typeof void

一元运算符、返回数据类型、对象创建、未定
义的值

从右向左

3

*/%

相乘、相除、求余数

从左向右

4

+-

相加、相减、字符串串联

从左向右

5

<<>>>>>

左位移、右位移、无符号右移

从左向右

6

<<=>>=instanceof

小于、小于或等于、大于、大于或等于、是否
为特定类的实例

从左向右

7

==!====!==

相等、不相等、全等,不全等

从左向右

8

&

按位

从左向右

9

^

按位异或

从左向右

10

|

按位

从左向右

11

&&

短路与(逻辑

从左向右

12

||

短路或(逻辑

从左向右

13

?:

条件运算符

从右向左

14

=+=-=*=/=%=&=|=^=<<=>>=>>=

混合赋值运算符

从右向左

15

,

多个计算

按优先级计算,然后从右向左


圆括号处理Javascript运算说明

圆括号用于改变由运算符优先级确定的计算顺序。 这就是说,先计算完圆括号内的表达式,然后再将它的值用于表达式的其余部分。

var result = 10 * 5 + 3;
document.write(result);
document.write("<br/>");

result = 10 * (5 + 3);
document.write(result);
// 输出如下:
// 53
// 80

在第一个表达式中,按照优先级运算,先运算的是 10 * 5,然后再加3,结果为50

在第二个表达式中,我们用圆括号开改变优先级,先让(5 + 3),结果为8,然后用8去乘以10,结果是80

/:除法,如:int a = 8/9;

%:取余运算: int a = 10%2;


Javascript逻辑运算符

Javascript中主要区分 ==  === ,同理 !=  !== 的关系

var a = '100';
var b = 100;
document.write(a==b);
document.write(a===b);
document.write(a!=b);
document.write(a!==b);

// 输出如下:
// true
// false
// false
// true

因为 Javascript 是弱类型语言,在数据类型上处理不是那么严格,也就造成了 '100'==100;返回true ,需要严格一点去比较'100'===100这个时候不仅比较值,还比较类型,所以返回false

同理 !=  !==  也是一样,前者比较的是值,后者是类型和值都要比较。


Javascript 运算符总结

其实在运算过程中,和其他语言一样,最好直接带上括号,如var a = 1; a = (a + 100) >>(a+1);  var a = 1; a = a + 100>>a+1;结果都是25,运算顺序也一样,前面的可读性更好吧?

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值