js操作符
1.运算符
运算符被称为操作符,用来实现赋值、比较、执行算术运算等功能的符号;
算术运算符;递增递减运算符;比较运算符;逻辑运算符;赋值运算符;
2.算术运算符
1、+ 加;
2、 - 减;
3、 * 乘;
4、 / 除;
5、 % 取余;
3.递增递减运算符
3.1递增运算符
3.11前置递增
++i 前置递增,自加1,类似于i = i + 1;
先自加,然后把自加后的新值返回自身,然后参与运算
var a = 10;
var sum = ++a + 5 + ++a +a;//40
//分析
//1、++a 等于11 此时的a为11;
//2、再+5等于16;
//3、运算后边的++a之前a=11,此时的++a等于12,此时a=12;
//4、加上最后的a,a为12
//5、结果为11 + 5 + 12 + 12 = 40
console.log(num);//40
3.12后置自增
i++ 后置递增, 自加1, 类似于i = i + 1;
先把原值参与运算,然后在自加1,把自加后的值返回自身,此时的原值就是自身
var b = 10;
var sum = b++ + 5 + b++ +b;//38
//分析
//先拿b的原值10参与运算,然后b自加1,b=11此时原值变为11,加上5之后为15,
//再运算后边b++之前b=11,拿b的原值11参与运算,然后b自加1,b=12此时原值为12,到这时结果为26,再加上最后的b=12,结果为38
3.2递减运算符(和递增一样)
4.比较运算符
比较运算符:是两个数据进行比较时所使用的运算符,比较运算后,会返回一个布尔值(true或者false)作为比较运算的结果
1、> : 大于号;
2、< : 小于号;
3、>= : 大于等于号;
4、<= : 小于等于号;
5、== : 判等号;
6、!= : 不等号;
7、===:全等 要求和数据类型都一致;
8、!== : 全不等;
console.log(5 > 2); // true
console.log(1 > 3 < 7); // true 中间会隐式转换
console.log(2 >= 5); // false
console.log(12 == '12'); // true 隐式转换,然后比较
console.log(18 === '18'); // false
5.逻辑运算符
5.1 与或非
逻辑运算符是用来进行布尔值的运算符,其返回值也是布尔值;
1、&& :逻辑与;
2、|| :逻辑或;
3、! :逻辑非;
// 1. 逻辑与 && 两侧都为true 结果才是 true 只要有一侧为false 结果就为false
console.log(3 > 7 && 7 > 2); // false
console.log(3 < 7 && 7 > 2); // true
// 2. 逻辑或 || 两侧都为false 结果才是false 只要有一侧为true 结果就是true
console.log(1 > 3 || 1 > 2); // false
console.log(3 < 2 || 2 > 1); // true
// 3. 逻辑非 !
console.log(!true); // false
5.2 逻辑中断
1、逻辑与 表达式1 && 表达式2
如果第一个表达式的值为真,则返回表达式2;
如果第一个表达式的值为假,则返回表达式1;
console.log( 1 && 2 ); // 2
console.log( 0 && 1 ); // 0
console.log( 1 && 2 && 3 && 4 ); // 4
2、逻辑或 表达式1 || 表达式2
如果第一个表达式的值为真,则返回表达式1;
如果第一个表达式的值为假,则返回表达式2;
console.log(1 || 2); // 1
console.log(1 || 2 || 3); // 1
console.log(0 || 1 || 2); // 1
console.log(0 || 0 || 1); // 1
6.赋值运算符
赋值运算符是用来把数据复制给变量的运算符;
1、= : 直接赋值;
2、+= :加一个数后赋值;
3、-= :减一个数后赋值;
4、*= :乘一个数后赋值;
5、 /= :除一个数后赋值;
6、 %=:取余后在赋值;
7.运算符的优先级
1、小括号 :() ;
2、一元运算符 :++ – !;
3、算数运算符 :先 * / % 后+ - ;
4、关系运算符 :> >= < <= ;
5、相等运算符 : == != === !==;
6、逻辑运算符 : 先&&后|| ;
7、赋值运算符 : = ;
8、逗号运算符 : , ;