一、js运算符
1、算术运算符
`+ `操作符的作用有:
1. 字符串相连
2. 数字相加
```jsx
1. 字符串 + 其他 = 字符串
会把其他类型 转换为 字符串 , 两个字符串连接到一起
2. 数字 + 数字 = 数字
会把其他类型 转换为 数字 ,再相加
```
-`操作符的作用就是数字相减
```js
-
都是优先把非数字的转换为数字,再运算
var res3 = '456' - 123;
console.log(res3); // 输出 数字 333
var res4 = 'abc' - 123;
console.log(res4); // 输出NaN
这是因为,数字和字符串在相减的过程中,会把字符串隐式转换成数字,再相减。但是如果字符串在转换的过程中,无法转换成数字,就会转换成NaN,再计算就无法得到一个正确的数字结果
```
`*`操作符的作用是两个数字相乘
`/`操作符的作用是两个数字相除
`%`操作符的作用是两个数字求模(得到余数)
```js
%
作用: 得到两个数字相除的余数
无法整除的部分就是余数
看看一个数字是否整除另一个数字
```
### 隐式转换
隐式转换是指在数据在参与运算的过程中,数据根据操作符的运算规则自动进行的数据类型转换。
2、 比较运算符
```js
> < >= <=
以上都是和数学里面的比较是一样的规则
==
判断两个值是否相等
console.log(5 % 2 == 0);
!=
判断两个值不相等
console.log(5 % 2 != 0);
===
判断类型和值是否相等
console.log(undefined === null);
!==
判断类型和值是否不相等
console.log(NaN == NaN); // false
// 如何验证一个数据, 不是NaN
// isNaN(数据) 判断一个数据是否是NaN
console.log(isNaN(NaN)) // NaN是一个NaN, 所以得到的是true
console.log(isNaN(123)) // 123不是一个NaN, 所以得到的是false
```