运算符
运算符也被称为操作符,是用于实现赋值,比较和执行算数运算功能的符号。
1. 算术运算符
| 运算符 | 描述 | 实例 |
|---|---|---|
| + | 加 | 1+1=2 |
| - | 减 | 2-1=1 |
| * | 乘 | 2*1=2 |
| / | 除 | 6/2=3 |
| % | 取余 | 6%2=0(返回除法的余数) |
表达式和返回值
- 由数字,运算符,变量等组成的式子 我们称之为表达式
- console.log(1 + 1); //得出的结果为2,2就是返回值
- 2 = 1+1 ,在程序中的写法是把右边的表达式计算完毕后返回值给左边,例 var num = 1 + 1 ;
递增和递减运算符
!注意:递增和递减运算符必须配合变量使用
!注意:递增和递减运算符必须配合变量使用
!注意:递增和递减运算符必须配合变量使用
-
如果需要反复给数字变量加或减1,可以使用递增(++)递减(--)运算来完成
-
在JavaScript中,递增和递减运算符可以放在变量的前面,也可以放在变量的后面。当我们放在变量的前面时,我们可以称之为前置递增(递减)运算符,当我们放在变量后时,我们可以称之为后置递增(递减)运算符
-
前置运算符和后置运算符单独使用的话效果是一样的。
4.与其他代码联用时,所得到的结果是不同的。
5.开发时大多使用后置递增/递减。 但是
- 前置运算符是先自加,后返回原值。后置运算符是先返回原值, 后自加。
//前置运算符
var num = 10;
++num ; //相当于是 num = num + 1 ,输出结果为11
var num_1 = 10;
--num_1; //相对于 num_1 = num_1 - 1 ,输出结果为9
var p = 10;
console.log(++p + 10); //结果为11 + 10 =21
//后置运算符
var num = 10;
num++; //输出结果为11
a++; //为11
var b = a++ + 1 ; //a++为后置运算符,返回原值在运算,所以b=12
console.log(b); //结果为12
// 混合运算
var a = 10;
console.log(a++ + ++a);
//首先a++=10,先返回原值,后自加,但是自加后a变成了11,所以++a=11+1,
++a=12,得出的结果为22
2.比较运算符
比较运算符(关系运算符)是两个数据进行比较时所使用的运算符,比较运算后,会返回一个布尔值(true/false)作为比较运算的结果。
| 运算符 | 说明 | 案例 | 结果 |
|---|---|---|---|
| < | 小于号 | 1<2 | true |
| 大于号 | 1>2 | false | |
| >= | 大于等于号 | 2>=2 | true |
| <= | 小于等于号 | 2<=1 | false |
| == | 判等号(等于运算符,会默认转换数据类型) | 37==37 | true |
| != | 不等号 | 37!=37 | false |
| === !== | 全等(要求值和数据类型全等) | 37==="37" | false |
= 号总结
| 符号 | 作用 | 用法 |
|---|---|---|
| = | 赋值 | 把右边的给左边 |
| == | 判断 | 判断两边的值是否相等(注意此时有隐式转换) |
| === | 全等 | 判断两边的值和数据类型是否完全相等 |
3.逻辑运算符
| 逻辑运算符 | 说明 | 案例 |
|---|---|---|
| && | 逻辑与,简称“与”and | true&&false |
| ! | 逻辑非 | !true |
逻辑或||,简称或 or ,true||false
逻辑与&&
//两侧都为true结果才为true
console.log(3>2 && 3<2); //false
console.log(3>2 && 4>2); // true
逻辑或
// 两侧都为false结果才是false
console.log(3>2 || 3<2); //true
console.log(3<2 || 3<3); //false
逻辑非
//取反
console.log(! true); //false
console.log(! false); //true
短路运算(逻辑中断)
短路运算的原理∶当有多个表达式(值)时,左边的表达式值可以确定结果时,就不再继续运算右边的表达式的值
1.逻辑与(逻辑中断)
- 语法:表达式1&&表达式2
- 如果第一个表达式的值为真,则返回表达式2
- 如果第一个表达式的值为假,则返回表达式1
console.log(123 && 456); //结果456,123为真所以返回表达式2
console.log(0 && 123); //结果0 ,0为假(false),所以返回表达式1
console.log(0 && 1221 && 123*66) //0
2.逻辑或(逻辑中断)
- 表达式1为真则返回表达式1
- 表达式1为假则返回表达式2
console.log(1 || 0); //1
console.log(0 || 3<1 || 1); //1
4.赋值运算符
| 赋值运算符 | 说明 | 案例 |
|---|---|---|
| = | 直接赋值 | var usrname = '我是值' ; |
| += -= | 加、减一个数后再赋值 | var age = 10;age+= 5; //15 |
| *= /= %= | 乘除,取余后再赋值 | var age_3 = 2; age_3=5; //10 |
var age = 10 ;
age += 5;ll相当于age = age + 5;
age -= 5;/相当于age = age - 5;
age *= 10; l/相当于age = age * 10;