- 什么是算术运算符?
+ - * / %
- 算术运算符的优先级和结合性
* / % 优先级要高于 + -
无论是+ - * / %都是左结合性(从左至右计算)
1.加法运算的注意点
- 任何非数值类型的数据在参与加法运算之前, 都会被自动的转换成数值类型之后, 再参与运算
let res = 1 + true; // let res = 1 + 1;
let res = 1 + null; // let res = 1 + 0;
- 任何数据和NaN进行运算, 结果都是NaN
let res = 1 + NaN; //NaN
- 任何数据和字符串相加, 都会被先转换成字符串之后再运算
let res = 1 + "123"; // let res = "1" + "123"; 字符串相加的本质就是字符串拼接 "1123"
字符串相加的本质就是字符串拼接 let res = "1" + "123"; res为 1123
2.减法运算的注意点
- 任何非数值类型的数据在参与加法运算之前, 都会被自动的转换成数值类型之后, 再参与运算
let res = 1 - true; // let res = 1 - 1;
结果为 0
- 任何数据和NaN进行运算, 结果都是NaN
let res = 1 - NaN;
结果为NaN
- 任何数据和字符串相减, 都会先把字符串转换成数值类型之后再运算
let res = 1 - "123"; // let res = 1 - 123;
结果为-122
加法和减法唯一的区别就是在对字符串处理上不一样。加法字符串相加是拼接字符串,减法是先把字符串转成数字,然后再进行减法运算
乘法和除法运算的注意点
和减法运算的注意点一模一样
取模(取余)运算注意点
格式: m%n = 余数
- 如果m>n的, 那么就正常取余
let res = 10 % 3;
结果为1
- 如果m<n的, 那么结果就是m
let res = 3 % 10;
结果为3
- 如果n是0, 那么结果就是NaN
let res = 3 % 0;
结果为NaN
- 取余运算结果的正负性, 取决于m而不是n
let res = 10 % -3;
结果为1
let res = -10 % 3;
结果为-1
let res = -10 % -3;
结果为-1
网友评论