update: 数据类型转换

This commit is contained in:
qianguyihao 2024-03-03 21:40:23 +08:00
parent 760169bec0
commit a903cc798f
3 changed files with 30 additions and 37 deletions

View File

@ -106,7 +106,7 @@ console.log(str3);
### 获取字符串的长度
字符串是由若干个字符组成的,这些字符的数量就是字符串的长度。我们可以通过字符串的 length 属性可以获取整个字符串的长度。
字符串是由若干个字符组成的,这些字符的数量就是字符串的长度。我们可以通过字符串的 `length` 属性可以获取整个字符串的长度。
代码举例:

View File

@ -16,7 +16,7 @@ undefined 的使用有下面这几种场景。
### case1变量已声明未赋值时
**声明**了一个变量,但没有**赋值**,此时它的值就是 `undefined`。举例:
一个变量如果只**声明**了,但没有**赋值**,此时它的值就是 `undefined`。举例:
```js
var name;
@ -75,7 +75,7 @@ console.log(foo()); // 打印结果undefined
### case4调用函数时未传参
调用函数时,如果没有传参,那么,这个参数的值就是 undefined。
调用函数时,如果没有传实参,那么,对应形参的值就是 undefined。
举例:
@ -111,7 +111,7 @@ Null 类型的值只有一个,就是 null。比如 `var a = null`。
null 专门用来定义一个**空对象**。例如:`let a = null`,又例如 `Object.create(null)`
如果你想定义一个变量用来保存引用类型(也就是对象),但是还不确定放什么内容,这个时候,可以在初始化时将其赋值为 null。你可以把 null 理解为:**null 虽然是一个单独的数据类型但null 相当于是一个 object只不过地址为空空指针而已**。
如果你想定义一个变量用来保存引用类型(也就是对象),但是还不确定放什么内容,这个时候,可以在初始化时将其赋值为 null。
从语义上讲null表示一个空对象所以使用 typeof 检查一个 null 值时,会返回 object。举例

View File

@ -1,14 +1,20 @@
---
title: 09-数据类
title: 09-数据类型转换
---
<ArticleTopAd></ArticleTopAd>
## 前言
如果你需要在不同的数据类型之间进行某些操作,那就需要用到数据类型转换。比如:
- 将字符串类型转为数字类型。
- 将数字和字符串做减法操作。
- 判断非 Boolean类型的值是真还是假。
**变量的数据类型转换**:将一种数据类型转换为另外一种数据类型。
通常有三种形式的类型转换:
通常有三种形式的数据类型转换:
- 转换为字符串类型
@ -24,6 +30,10 @@ title: 09-数据类
### 显式类型转换
显式类型转换:**手动**将某种数据类型,**强制**转换为另一种数据类型。也就是说,通过调用特定函数或运算符显式地将一个数据类型转换为另一个数据类型。
常见的显示类型转换方法,有这几种:
- toString()
- String()
@ -38,23 +48,21 @@ title: 09-数据类
### 隐式类型转换
- isNaN ()
隐式类型转换这是JS在运行时会**自动执行**的一种类型转换不需要明确的代码指示。JS 在某些情况下会隐式地将一个数据类型转换为另一个数据类型,以完成某些操作或比较。
重点:**隐式类型转换,内部调用的都是显式类型的方法**。
常见的隐式类型转换,包括下面这几种:
- isNaN() 函数
- 自增/自减运算符:`++`、`—-`
- 运算符:正号`+a`、负号`-a`
- 运算符:加号`+`
- 运算符:`-`、`*`、`/`、`%`
- 比较运算符:`<`、`>`、 `<=``>=`、`==`等。比较运算符的运算结果都是布尔值:要么是 true要么是 false。
- 逻辑运算符:`&&`、`||`、`!` 。非布尔值进行**与或**运算时,会先将其转换为布尔值,然后再运算。`&&`、`||`的运算结果是**原值**`!`的运算结果为布尔值。
- 正号/负号:`+a`、`-a`
- 加号:`+`
- 运算符:`-`、`*`、`/`
### 隐式类型转换(特殊)
- 逻辑运算符:`&&`、`||`、`!` 。非布尔值进行**与或**运算时,会先将其转换为布尔值,然后再运算。`&&`、`||`的运算结果是**原值**`!`的运算结果为布尔值。具体可以看下一篇文章《运算符》。
- 关系运算符:`<`、`>` `<=` `>=`等。关系运算符,得到的运算结果都是布尔值:要么是 true要么是 false。具体可以看下一篇文章《运算符》。
针对上面这两种类型转换,这篇文章来详细介绍。
本节接下来详细讲的是显式类型转换以及隐式类型转换中的isNaN() 函数;其他的隐式类型转换,会在下节内容《运算符》中讲解。
## 一、转换为 String
@ -488,27 +496,12 @@ console.log(0 == true); // 打印结果false
## 隐式类型转换
重点:**隐式类型转换,内部调用的都是显式类型的方法**。
常见的隐式类型转换,包括下面这几种:
- isNaN() 函数
- 运算符:加号 `+`
- 运算符:`-`、`*`、`/`、`%`
- 运算符:正号/负号 +a`、`-a`
- 自增/自减运算符:`++`、`—-`
本段先来讲一下 isNaN() 其他内容将在下一节《JavaScript基础/运算符》中讲到。
### isNaN() 函数
## 隐式类型转换isNaN() 函数
语法:
```javascript
isNaN(参数);
isNaN(参数)
```
解释:判断指定的参数是否**不是数字**NaN非数字类型返回结果为 Boolean 类型。**不是数字时返回 true**,是数字时返回 false。