diff --git a/04-JavaScript基础/09-数据类型转换.md b/04-JavaScript基础/09-数据类型转换.md
index cf48aa7..5cb6a1d 100644
--- a/04-JavaScript基础/09-数据类型转换.md
+++ b/04-JavaScript基础/09-数据类型转换.md
@@ -22,7 +22,7 @@ title: 09-数据类型转换
- 转换为布尔型
-你会专门把某个数据类型转换成 null 或者 undefined 吗?不会,因为这样做,没有意义。
+我需要专门把某个数据类型转换成 null 或者 undefined 吗?因为这样做没有意义。
## 变量的类型转换的分类
@@ -245,12 +245,12 @@ const result = Number(变量/常量);
使用 Number() 函数转为数字的规则如下:
-| 原始值 | 转换后的值 |
-| ------------------- | ------------------------------------------------------------ |
-| 字符串 | (1)字符串去掉首尾空格后,剩余字符串的内容如果是纯数字,则直接将其转换为数字。
(2)如果字符串是一个**空串**或者是一个**全是空格**的字符串,则转换为 0。
(3)字符串去掉首尾空格后,剩余字符串包的内容只要含了其他非数字的内容(`小数点`按数字来算),则转换为 NaN。怎么理解这里的 **NaN** 呢?可以这样理解,使用 Number() 函数之后,**如果无法转换为数字,就会转换为 NaN**。 |
-| 布尔值:true、false | true 转成 1;false 转成 0 |
-| undefined | NaN |
-| null | 0 |
+| 原始值 | 转换后的值 |
+| --------- | ------------------------------------------------------------ |
+| 字符串 | (1)字符串去掉首尾空格后,剩余字符串的内容如果是纯数字,则直接将其转换为数字。
(2)字符串去掉首尾空格后,剩余字符串包的内容只要含了其他非数字的内容(`小数点`按数字来算),则转换为 NaN。怎么理解这里的 **NaN** 呢?可以这样理解,使用 Number() 函数之后,**如果无法转换为数字,就会转换为 NaN**。
(3)如果字符串是一个**空串**或者是一个**全是空格**的字符串,则转换为 0。
|
+| 布尔值 | true 转成 1;false 转成 0 |
+| undefined | NaN |
+| null | 0 |
### 2、隐式类型转换——运算符:加号 `+`
@@ -488,7 +488,7 @@ parseFloat() 的几个特性,可以参照 parseInt()。
其他的数据类型都可以转换为 Boolean 类型。无论是隐式转换,还是显示转换,转换结果都是一样的。有下面几种情况:
-使用 Number() 函数转为数字的规则如下:
+转换为 Boolean 类型的规则如下:
| 原始值 | 转换后的值 |
| --------- | ------------------------------------------------------------ |
@@ -502,7 +502,7 @@ parseFloat() 的几个特性,可以参照 parseInt()。
**重中之重来了:**
-转换为 Boolean 的上面这几种情况,**极其重要**,开发中会频繁用到。比如说,我们在项目开发中,经常需要对一些**非布尔值**做**逻辑判断或者逻辑运算**,符合条件后,才做下一步的事情。这个逻辑判断就是依据上面的四种情况。
+转换为 Boolean 的上面这几种情况,**极其重要**,项目开发中会频繁用到。比如说,我们在项目开发中,经常需要对一些**非布尔值**做**逻辑判断或者逻辑运算**,符合条件后,才做下一步的事情。这个逻辑判断就是依据上面的四种情况。
举例:(接口返回的内容不为空,前端才做进一步的事情)
diff --git a/04-JavaScript基础/10-运算符.md b/04-JavaScript基础/10-运算符.md
index 2dba230..778437b 100644
--- a/04-JavaScript基础/10-运算符.md
+++ b/04-JavaScript基础/10-运算符.md
@@ -4,12 +4,12 @@ title: 10-运算符
-我们在前面讲过变量,本文讲一下**运算符**和表达式。
-
## 运算符的定义和分类
### 运算符的定义
+运算符和表达式形影不离,先来介绍一下概念。
+
**运算符**:也叫操作符,是一种符号。通过运算符可以对一个或多个值进行运算,并获取运算结果。
**表达式**:数字、运算符、变量的组合(组成的式子)。
@@ -24,7 +24,7 @@ title: 10-运算符
例如:在加法运算中,运算元就是加法操作符两侧的值或变量。在逻辑运算中,运算元是指用于计算逻辑表达式的操作数。
- 如果一个运算符(比如加法运算符)拥有两个运算元,那么它是二元运算符。
+ 如果一个运算符(比如加法运算符)拥有两个运算元,那么它是二元运算符。一元运算符、三元运算符的概念同理。
### 运算符的分类
@@ -48,13 +48,14 @@ JS 中的运算符,分类如下:
常见的算数运算符有以下几种:
-| 运算符 | 描述 |
-| :----- | :--------------------: |
-| + | 加、字符串连接 |
-| - | 减 |
-| \* | 乘 |
-| / | 除 |
-| % | 获取余数(取余、取模) |
+| 运算符 | 描述 |
+| :----- | :---------------------: |
+| + | 加、字符串连接 |
+| - | 减 |
+| \* | 乘 |
+| / | 除 |
+| % | 获取余数(取余/取模) |
+| ** | 幂运算,是 ES7 新增特性 |
**求余的举例**:
@@ -97,7 +98,7 @@ var a = 1 + ((2 * 3) % 4) / 3;
原式 = 1 + 6 % 4 / 3 = 1 + 2 / 3 = 1.66666666666666
-### 取模(取余)运算
+### 取余(取模)运算
格式:
@@ -105,6 +106,8 @@ var a = 1 + ((2 * 3) % 4) / 3;
余数 = m % n;
```
+`%`符号在这里并不是用来做百分号的计算,和百分号计算没有关系。
+
计算结果注意:
- 取余运算结果的正负性,取决于 m,而不是 n。比如:`10 % -3`的运算结果是 1。`-10 % 3`的运算结果是-1。
@@ -116,6 +119,23 @@ var a = 1 + ((2 * 3) % 4) / 3;
- 如果 m>=n,那就正常取余。
- 如果 m