04-JavaScript操作符
程序员文章站
2022-07-07 17:37:51
...
第4章 操作符
表达式:值和操作符,运算会有一个结果。
同时,表达式中的每个数值及部分表达式,又称为子表达式。
4.1 算术运算
+ - * / %(取余或取模)
4.2 一元运算符
一元运算符:只有一个操作数的运算符,一元运算会直接修改原始变量的数据。
++ – ! 包含三个运算符
二元运算:两个操作的运算符,如:5 + 6
规则
前置++(–):先加(减)后使用;
后置++(–):先使用后加(减);
var a = 1;
var b = ++a + ++a;
console.log(b); //5
var a = 1;
var b = a++ + ++a;
console.log(b);//4
var a = 1;
var b = a++ + a++;
// console.log(b); // 3
var a = 1;
var b = ++a + a++;
console.log(b);//4
4.3 逻辑运算符
- && 与 左边为真,则取右边;左边为假,则取左边
- || 或 左边为真,则取左边;左边为假,则取右边
- ! 非 取反
var a = 1;
var b = 2;
var c = 0;
console.log(a || b); //1
console.log(b || a); //2
console.log(c && a); //0
console.log(a || c && b); //1
// JS逻辑运算中的逻辑或和逻辑与的运算结果:
// 决定整个表达式的子表达式的值
4.4 关系运算符
< >
<= >=
== !=
=== !==
与=的区别:==只进行值比较,===类型和值都相等时,则相等
var result = '55' == 55; // true
var result = '55' === 55; // false 值相等,类型不相等
var result = 55 === 55; // true
4.5 赋值运算符
注意与数学符号的差别:
= += -= *= /= %=
var num = 0;
num+=5; //相当于, num = num + 5;
4.6 运算符优先级
JavaScript 运算符优先级,是描述在计算机运算计算表达式时执行运算的先后顺序。 先执行具有较高优先级的运算,然后执行较低优先级的运算。 例如,我们常说的先执行相乘和除,再执行加减运算
优先级 | 运算符 | 说明 | 结合性 |
---|---|---|---|
1 | []、.、() | 字段访问、数组索引、函数调用和表达式分组 | 从左向右 |
2 | ++ – -~!delete new typeof void | 一元运算符、返回数据类型、对象创建、未定义的值 | 从右向左 |
3 | *、/、% | 相乘、相除、求余数 | 从左向右 |
4 | +、- | 相加、相减、字符串串联 | 从左向右 |
5 | <<、>>、>>> | 左位移、右位移、无符号右移 | 从左向右 |
6 | <、<=、>、>=、instanceof | 小于、小于或等于、大于、大于或等于、是否为特定类的实例 | 从左向右 |
7 | ==、!=、===、!== | 相等、不相等、全等,不全等 | 从左向右 |
8 | & | 按位“与” | 从左向右 |
9 | ^ | 按位“异或” | 从左向右 |
10 | | | 按位“或” | 从左向右 |
11 | && | 短路与(逻辑“与”) | 从左向右 |
12 | || | 短路或(逻辑“或”) | 从左向右 |
13 | ? : | 条件运算符 | 从右向左 |
14 | =、+=、-=、*=、/=、%=、&=、 | =、^=、<、<=、>、>=、>>= | 混合赋值运算符 |
15 | , | 多个计算 | 按优先级计算,然后从右向左 |
优先级从高到底
1. () 优先级最高
2. 一元运算符 ++ -- !
3. 算数运算符 先* / % 后 + -
4. 关系运算符 > >= < <=
5. 相等运算符 == != === !==
6. 逻辑运算符 先&& 后||
7. 赋值运算符
总结:
操作符的使用,基本数学运算,一元运算符自增自减及前置后置的区别,逻辑运算符及取值,关系比较运算符,赋值运算符,运算符优先级;
上一篇: CentOS7.3安装mysql
下一篇: Oracle程序包