JSON在线解析

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,运算次序也一样,前面的可读性更好吧?