update: 运算符

This commit is contained in:
qianguyihao
2019-12-12 20:28:14 +08:00
parent 4f8682f46a
commit 750623572d
3 changed files with 239 additions and 213 deletions

View File

@@ -96,7 +96,7 @@ console.log(type {}); // 空对象的打印结果object
## 其他的简单类型 --> String
### 方法一:字符串拼接
### 方法一(隐式类型转换):字符串拼接
格式:变量+"" 或者 变量+"abc"
@@ -108,7 +108,7 @@ console.log(a + ''); // 转换成 String 类型
console.log(a + 'haha'); // 转换成 String 类型
```
上面的例子中,打印的结果,都是字符串类型的数据。
上面的例子中,打印的结果,都是字符串类型的数据。实际上内部是调用的 String() 函数。也就是说,`c = c + ""` 等价于 `c = String(c)`
### 方法二:调用 toString()方法
@@ -425,7 +425,7 @@ console.log(a); // 打印结果NaN。因为 Number('abc')的结果为 NaN
> 注意,这里说的是正号/负号,不是加号/减号。
任何值做`+a``-a`运算时,运算结果都会自动转换为 Number 类型。 内部调用的是 Number() 函数。
任何值做`+a``-a``/a`运算时,运算结果都会自动转换为 Number 类型。 内部调用的是 Number() 函数。
**举例**
@@ -460,9 +460,33 @@ console.log(b); // 打印结果666
### 运算符:`-`、`*`、`/`
任何值做`-``*``/`运算时,运算结果都会自动转换为 Number 类型。内部调用的是 Number() 函数
1、任何非 Number 类型的值做`-``*``/`运算时,会将这些值转换为Number然后再运算(内部调用的是 Number() 函数),运算结果是 Number 类型。(注:`任何值 + 字符串`是特例,运算结果是字符串)
比如:
```javascript
result1 = true + 1; // 2 = 1+ 1
result2 = true + false; // 1 = 1+ 0
result3 = 1 + null; // 1 = 1+ 0
result4 = 100 - '1' // 99
```
2、任何的值和字符串做加法运算都会先转换为字符串然后再做拼串操作。
比如:
```javascript
result1 = 1 + 2 + '3' // 33
result2 = '1' + 2 + 3; // 123
```
3、任何值和NaN做运算的结果都是NaN。
注:任何值和字符串相加,结果会转换为字符串。这个在上一小段已经讲过。
## 我的公众号