一、运算符
1.1.算术运算符
💡💡:
算术运算使用的符号,用于执行两个变量或值的算术运算。
// 加减乘除
console.log(1 + 1); // 2
console.log(1 - 1); // 0
console.log(1 * 1); // 1
console.log(1 / 1); // 1
// 1. % 取余 (取模)
console.log(4 % 2); // 0
console.log(5 % 3); // 2
console.log(3 % 5); // 3
- !✨✨:在浮点数中运算会有点问题:
例:
console.log(0.1 + 0.2); // 0.30000000000000004
console.log(0.07 * 100); // 7.000000000000001
// 这个结果是不是和我们想的不一样
- 因为浮点数值的最高精度是 17 位小数,但在进行算术计算时其精确度远远不如整数。所以浮点数是不能直接判断是否相等的!
1.2.递增和递减运算符
- 前置递增运算符
💡💡:
++i ,前置递增,就是自加1,类似于 num = num + 1
- 注:先递增,后返回值
++i; // 前置递增
// 前置递增运算符 ++ 写在变量的前面
var age = 10;
++age; // age = age + 1
console.log(age);
// 输出
// 11
- 后置递增运算符
💡💡:
i++,后置递增,就是自加1,类似于 num = num + 1
- 注:先返回原值,后自加
i++; // 后置递增
// 后置递增运算符 ++ 写在变量的后面
var age = 10;
age++; // age = age + 1
console.log(age);
// 输出
// 10
- 前置递减运算符
💡💡:
--i;前置递减,就是自减1,类似于 num = num - 1
- 注:先递减,后返回值
--i; // 前置递减
// 前置递减运算符 -- 写在变量的前面
var age = 10;
--age; // age = age - 1
console.log(age);
// 输出
// 9
- 后置递减运算符
💡💡:
i--; 后置递减,就是自减1,类似于 num = num - 1
- 注:先返回原值,后自减
i--; // 后置递减
// 后置递减运算符 -- 写在变量的后面
var age = 10;
age--; // age = age - 1
console.log(age);
// 输出
// 10
1.3.比较运算符
💡💡:
比较运算符(关系运算符)是两个数据进行比较时所使用的运算符,比较运算后,会返回一个布尔值(true / false)作为比较运算的结果。
console.log(3 >= 5); // false
console.log(2 <= 4); // true
// 程序里面的等于符号 是 == 默认转换数据类型 会把字符串型的数据转换为数字型 只要求值相等就可以
console.log(3 == 5); // false
console.log(18 == 18); // true
console.log(18 == '18'); // true
console.log(18 != 18); // false
💡💡:
ps:js中的==和 ===的区别?
- ==:判断两边的值是否相等
- ===:判断两边的值和数据类型是否完全相等
// 我们程序里面有全等 一模一样 要求 两侧的值 还有 数据类型完全一致才可以 true
console.log(18 === 18);
console.log(18 === '18'); // false
1.4.逻辑运算符
💡💡:
逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值。(其实就是数学中我们学的交集和并集哈哈)
// 1. 逻辑与 && and 两侧都为true 结果才是 true 只要有一侧为false 结果就为false
console.log(3 > 5 && 3 > 2); // false
console.log(3 < 5 && 3 > 2); // true
// 2. 逻辑或 || or 两侧都为false 结果才是假 false 只要有一侧为true 结果就是true
console.log(3 > 5 || 3 > 2); // true
console.log(3 > 5 || 3 < 2); // false
// 3. 逻辑非 not !
console.log(!true); // false
1.5.赋值运算符
💡💡:
用来把数据赋值给变量的运算符。
var age = 2;
age *= 3;
console.log(age);
// 6
var age = 10;
age += 5; // 相当于 age = age + 5;
age -= 5; // 相当于 age = age - 5;
age *= 10; // 相当于 age = age * 10;
1.6.运算符优先级
💡💡:
- 可以参见下面表格: