运算符
运算符也被称为操作符,是用于实现赋值、比较和执行算数运算等功能的符号。
JavaScript中常用的运算符有:
● 算术运算符
● 递增和递减运算符
● 比较运算符
● 逻辑运算符
● 赋值运算符
| 运算符 | 描述 |
|---|---|
| + | 加 |
| - | 减 |
| * | 乘 |
| / | 除 |
| % | 取余数 |
注意:浮点数 算数运算里面会有问题,且不能直接拿浮点数进行比较 是否相等
表达式和返回值
表达式:是由数字、运算符、变量等以能求得数值的有意义的排列方式所得的组合
简单理解:是由数字、运算符、变量等组成的式子,都有值进行返回,在程序里面右边表达式计算完毕把返回值给左边
递增和递减运算符概述
如果需要反复给数字变量添加或减去1,可以使用递增(++)和递减(–)运算符来完成。
在JavaScript中,递增(++)和递减(–)既可以放在变量的前面,也可以放在变量的后面。放在变量前面时,称为前置递增(递减)运算符,放在变量后面时,称为后置递增(递减)运算符
注意:递增和递减运算符必须和变量配合使用
前置递增运算符
++num前置递增,自加1,类似于num = num + 1,但是 ++num 更简单。
var p=10;
console.log(++p + 10); //输出结果为21 p为10++为自加1=11,在加10=21
使用口诀:先自加,后返回值
后置递增运算符
num++后置递增,自加1,类似于num=num+1,num++写起来更简单
var p=1;
p++;
console.log(num);
var age = 10;
console.log(age++ + 10); //返回结果为20
使用口诀:先返回值,后自加
前置递增和后置递增小结
● 前置递增和后置递增运算符可以简化代码的编写,让变量的值 + 1比以前写法更简单
● 单独使用时,运行结果相同
● 与其他代码联用时,执行结果会不同
● 后置:先原值运算,后自加(先人后己)
● 前置:现自加,后运算(先己后人)
● 开发时,大多使用后置递增/减,并且代码独占一行,例如:num++;或者num–;
比较运算符概述
概念:比较运算符(关系运算符)是俩个数据进行比较时所使用的运算符,比较运算后,会返回一个布尔值(true/false)作为比较运算的结果。
| 运算符名称 | 说明 | 案例 | 结果 |
| < | 小于号 | 1<2 | true |
| > | 大于号 | 1>2 | false |
| <= | 小于等于 | 3<=2 | false |
| >= | 大于等于 | 2>=2 | true |
| == | 判等号(会转型) | 37==37 | true |
| != | 不等号 | 37!=37 | false |
| === !== | 全等要求值和数据类型一致 | 37==='37' | false |
//==默认转换数据类型 会把字符串型的数据转换为数字类型
console.log(18 == '18'); //结果为true
//=== !== 全等俩遍数据类型需要一模一样
console.log(18 === 18); //结果为true
console.log(18==='18'); //结果为false
小结
| 符号 | 用法 |
|---|---|
| =(赋值) | 把右边给左边 |
| ==(判断) | 判断两边值是否相等(注意此时有隐式转换) |
| ===(全等) | 判断两边的值和数据类型是否完全相同 |
逻辑运算符概述
概念:逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值。开发中经常用于多个条件的判断。
| 逻辑运算符 | 说明 | 案例 |
| && | “逻辑与”,简称“与”and | true&&false |
| || | “逻辑或”简称“或” or | true||false |
| ! | “逻辑非”,简称“非”not | !true |
//逻辑与 && 俩侧都为true 结果才是true 只要有一侧为false 结果为false
console.log(3 > 5 && 3 > 2); //结果为false
//逻辑或 || or 俩侧都为false 结果是假 false 只要有一侧为true 结果就是true
console.log(3 > 5 || 3 > 2); //结果为true
//逻辑非 not !
console.log(!true); //false
短路运算(逻辑中断)
短路运算的原理:当有多个表达式(值)时,左边的表达式值可以确定结果时,不在继续运算右边的表达式的值。
1、逻辑与
● 语法:表达式1&&表达式2
● 如果第一个表达式的值为真,则返回表达式2
● 如果第一个表达式的值为假,则返回表达式1
//用布尔值参与的逻辑运算 true && false == false
console.log(123 && 456); //结果为456
console.log(0 && 456); //结果为0
console.log(0 && 1 + 2 && 456 * 567); //结果为0
//如果有空的或者否的的为假 其余是真 0 '' null undefined NaN
2、逻辑或
逻辑或短路运算 如果表达式1结果为真 则返回的是表达式1,结果为假 则返回表达式2
console.log(123 || 456); //结果为123
console.log(0 || 456); //结果为456
console.log(0 || 1 + 2 || 456); //结果为3 表达式1为假则运行表达式2表达式2为真则输出表达式2 结果为3
//逻辑中断很重要 会影响程序运行结果
var num = 0;
console.log(123 || num++); //结果为123
console.log(num); //结果为0
赋值运算符
概念:用来吧数据赋值给变量的运算符
| 赋值运算符 | 说明 | 案例 |
| = | 直接赋值 | var userName='我是值'; |
| +=、= | 加、减一个数后再赋值 | var age=10; age+=5; //15 |
| *=、/=、%= | 乘、除、取余 后在赋值 | var age=2; age*=5; //10 |
运算符优先级
| 优先级 | 运算符 | 顺序 |
| 1 | 小括号 | () |
| 2 | 一元运算符 | ++ -- ! |
| 3 | 算数运算符 | 先* / % 后 + - |
| 4 | 关系运算符 | > >= < <= |
| 5 | 相等运算符 | == != === !== |
| 6 | 逻辑运算符 | 先&& 后|| |
| 7 | 赋值运算符 | = |
| 8 | 逗号运算符 | , |
930

被折叠的 条评论
为什么被折叠?



