目录
1.概括:算术运算使用的符号,用于执行两个变量或值的算术运算。
概念:比较运算符(关系运算符)是两个数进行比较时所用的运算符,比较运算后,会返回一个布尔值(true / false)作为比较运算的结果。
1.概述:逻辑运算符是用来进行布尔值运算的运算符,返回值也是布尔值。经常用于多个条件的判断。
运算符
运算符也称为操作符,用于实现赋值,比较和执行运算等功能的符号。
javaScript常用
算术运算符
递增和递减运算符
比较运算符
逻辑运算符
赋值运算符
算术运算符
1.概括:算术运算使用的符号,用于执行两个变量或值的算术运算。
2.浮点数的精度问题
浮点数值的最高精度是17位小数,但在进行算术计算时其精度远远不够整数。
var result = 0.1 + 0.2; // 结果不是 0.3,而是:0.30000000000000004
console.log(0.07 * 100); // 结果不是 7, 而是:7.000000000000001
所以:不要直接判断两个浮点数是否相等!
3.怎么判断一个数能够被整除呢?
它的余数是0说明这个数能够被整除,这就是%取余运算符的主要用途。
4.表达式和返回值
表达式:是由数字、运算符、变量等以能求得数值有意义排列方式所得的组合。
简单理解:是有数字、运算符、变量组成的句子
表达式最终都会有一个结果,返回给我们,我们成为返回值
递增和递减运算符
1.概述:
如果需要反复给数字变量加1或者减1,可以使用递增(++)和递减(--)运算符来完成。
既可以放在变量前面也可以放在变量后面。放在前面时,可以成为前置递增(递减)运算符。放在后面时,可以成为后置递增(递减)运算符。
注意:递增和递减运算符必须和变量配合使用。
2.前置递增运算符
++num前置递增,就是自加1,类似于num = num + 1;但是++num写起来更简单。
口诀:先自加,后返回值。
var num = 10;
alert( ++num + 10 ); // 11 + 10 = 21
2.后置递增运算符
num++前置递增,就是自加1,类似于num = num + 1;但是num++写起来更简单。
口诀:先返回值,后自加。
var num = 10;
alert( 10 + num++ ); // 10 + 10 = 20
比较运算符
概念:比较运算符(关系运算符)是两个数进行比较时所用的运算符,比较运算后,会返回一个布尔值(true / false)作为比较运算的结果。
console.log(8 == '8'); // true
console.log(8 === '8'); // false
逻辑运算符
1.概述:逻辑运算符是用来进行布尔值运算的运算符,返回值也是布尔值。经常用于多个条件的判断。
2.逻辑与(&&)
两边都是true才返回true,否则返回false。
3.逻辑或(||)
两边都为false才返回false,否则都为true。
4.逻辑非(!)
逻辑非(!)也成为取反符,用来取一个布尔值相反的值,如true相反的值是false。
var isOK = !true;
console.log(isOK); // false
练习:
var num = 7;
var str = '我爱你中国';
console.log(num > 5 && str.length >= num); // false
console.log(num < 5 && str.length >= num); // false
console.log(!(num < 10)); // false
console.log(!(num < 10 || str.length == sum)); // false
5.短路运算(逻辑中断)
短路运算的原理:当有多个表达式(值)时,左边的表达式值可以确定结果时,就不再接着运算右边的表达式的值。
5.1、逻辑与
语法:表达式1 && 表达式2
如果第一个表达式的值为真,则返回表达式2。
如果第一个表达式的值为假,则返回表达式1。
console.log(123 && 456); // 456
console.log(0 && 456); // 0
console.log(123 && 456 && 789); // 789
5.2、逻辑或
语法:表达式1 && 表达式2
如果第一个表达式的值为真,则返回表达式1。
如果第一个表达式的值为假,则返回表达式2。
console.log(123 || 456); // 123
console.log(0 || 456); // 456
console.log(123 || 456 || 789); // 123
var num = 0;
console.log(123 || num++); // 123
console.log(num); // 0
赋值运算符
1.概念:用来把数据给变量的运算符。
var age = 10;
age += 5; // 相当于 age = age + 5;
age -= 5; // 相当于 age = age - 5;
age *= 10; // 相当于 age = age * 10;
运算符优先级
注意:一元运算符里面的逻辑非优先级很高,逻辑与比逻辑或优先级高
练习:
console.log(4 >= 6 || '人' != '阿凡达' && !(12 * 2 == 144) && true); // true
var num = 10;
console.log(5 == num / 2 && (2 + 2 * num).toString() === '22'); // true