diff --git a/04-JavaScript基础/06-基本数据类型:String 和 Boolean.md b/04-JavaScript基础/06-基本数据类型:String 和 Boolean.md index 61eaa9e..2bf6a00 100644 --- a/04-JavaScript基础/06-基本数据类型:String 和 Boolean.md +++ b/04-JavaScript基础/06-基本数据类型:String 和 Boolean.md @@ -106,7 +106,7 @@ console.log(str3); ### 获取字符串的长度 -字符串是由若干个字符组成的,这些字符的数量就是字符串的长度。我们可以通过字符串的 length 属性可以获取整个字符串的长度。 +字符串是由若干个字符组成的,这些字符的数量就是字符串的长度。我们可以通过字符串的 `length` 属性可以获取整个字符串的长度。 代码举例: diff --git a/04-JavaScript基础/08-基本数据类型:Undefined 和 Null.md b/04-JavaScript基础/08-基本数据类型:Undefined 和 Null.md index 7464ce2..700fc3c 100644 --- a/04-JavaScript基础/08-基本数据类型:Undefined 和 Null.md +++ b/04-JavaScript基础/08-基本数据类型:Undefined 和 Null.md @@ -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。举例: diff --git a/04-JavaScript基础/09-数据类型转换.md b/04-JavaScript基础/09-数据类型转换.md index d202541..ee7b9ed 100644 --- a/04-JavaScript基础/09-数据类型转换.md +++ b/04-JavaScript基础/09-数据类型转换.md @@ -1,14 +1,20 @@ --- -title: 09-数据类 +title: 09-数据类型转换 --- ## 前言 +如果你需要在不同的数据类型之间进行某些操作,那就需要用到数据类型转换。比如: + +- 将字符串类型转为数字类型。 +- 将数字和字符串做减法操作。 +- 判断非 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。