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