【JavaScript】3_深挖数据类型

简介: ## 5、类型转换——字符串类型转换指将一种数据类型转换为其他类型将其他类型转换为(字符串、数值和布尔值)转换为字符串#### 1.调用toString()方法将其他类型转换为字符串- 调用xxx的yyy方法 --> xxx.yyy()- 由于null和undefined中没有toString() 所以对这两个东西调用toString()时会报错 #### 2.调用String()函数将其他类型转换为字符串- 调用xxx函数 --> xxx()- 原理: 对于拥有toString()方法的值调用String()函数时, 实际上就是在调

5、类型转换——字符串

类型转换指将一种数据类型转换为其他类型将其他类型转换为(字符串、数值和布尔值)

转换为字符串

1.调用toString()方法将其他类型转换为字符串

  • 调用xxx的yyy方法--> xxx.yyy()
  • 由于null和undefined中没有toString()所以对这两个东西调用toString()时会报错
    2.调用String()函数将其他类型转换为字符串
  • 调用xxx函数--> xxx()
  • 原理:对于拥有toString()方法的值调用String()函数时,  实际上就是在调用toString()方法对于null,则直接转换为"null"对于undefined,直接转换为"undefined"

<script>

       let a = 10 // "10"

       a = true // "true"

       a = 11n  // "11"

       a = undefined

       // console.log(typeof a, a)


       // a = a.toString() // "10"

       // console.log(typeof a, a)


       let b = 33 // "33"

       b = null // "null"

       b = undefined // "undefined"

       b = true

       console.log(typeof b, b)


       b = String(b)

       console.log(typeof b, b)

</script>

6、类型转换——数值

将其他的数据类型转换为数值

1.使用Number()函数来将其他类型转换为数值

转换的情况:

  • 字符串:
  • 如果字符串是一个合法的数字,则会自动转换为对应的数字
  • 如果字符串不是合法数字,则转换为NaN
  • 如果字符串是空串或纯空格的字符串,则转换为0
  • 布尔值:
  • true转换为1,false转换为0
  • null 转换为 0
  • undefined 转换为 NaN

专门用来将字符串转换为数值的两个方法          

parseInt() —— 将一个字符串转换为一个整数
  • 解析时,会自左向右读取一个字符串,直到读取到字符串中所有的有效的整数
  • 也可以使用parseInt()来对一个数字进行取整
parseFloat() —— 将一个字符串转换为浮点数
  • 解析时,会自左向右读取一个字符串,直到读取到字符串中所有的有效的小数

<script>

       let a = '123' // 123

       a = 'abc' // NaN

       a = '3.1415926' // 3.1415926

       a = '11px' // NaN

       a = ''  // 0

       a = '    ' // 0


       a = true // 1

       a = false // 0


       a = null // 0

       a = undefined // NaN


       // console.log(typeof a, a)


       a = Number(a)

       // console.log(typeof a, a)

       

       let b = '123px'

       b = 'a123'

       b = '123.45'

       // b = 456.123

       console.log(typeof b, b)


       b = parseInt(b)

       console.log(typeof b, b)

</script>

7、类型转换——布尔值

1.使用Boolean()函数来将其他类型转换为布尔值

  • 转换的情况:数字:
  • 0 和 NaN 转换为false
  • 其余是true

字符串:

  • 空串 转换为 false
  • 其余是true

null和undefined 都转换为 false

对象:对象会转换为true

  • 所有表示空性的没有的错误的值都会转换为false:0、NaN、空串、null、undefined、false

<script>

       let a = 1 // true

       a = -1 // true

       a = 0 // false

       a = NaN // false

       a = Infinity // true


       a = 'abc' // true

       a = 'true' // true

       a = 'false' // true

       a = '' // false

       a = " " // true

       a = null

       a = undefined


       console.log(typeof a, a)


       a = Boolean(a)


       console.log(typeof a, a)

</script>


相关文章
|
1月前
|
存储 JavaScript 对象存储
js检测数据类型有那些方法
js检测数据类型有那些方法
133 59
|
2月前
|
JavaScript
js基础数据类型
js基础数据类型
29 1
|
5天前
|
存储 JavaScript 前端开发
JavaScript 数据类型详解:基本类型与引用类型的区别及其检测方法
JavaScript 数据类型分为基本数据类型和引用数据类型。基本数据类型(如 string、number 等)具有不可变性,按值访问,存储在栈内存中。引用数据类型(如 Object、Array 等)存储在堆内存中,按引用访问,值是可变的。本文深入探讨了这两种数据类型的特性、存储方式、以及检测数据类型的两种常用方法——typeof 和 instanceof,帮助开发者更好地理解 JavaScript 内存模型和类型检测机制。
12 0
JavaScript 数据类型详解:基本类型与引用类型的区别及其检测方法
|
17天前
|
JavaScript 前端开发 开发者
【干货拿走】JavaScript中最全的数据类型判断方法!!!!
【干货拿走】JavaScript中最全的数据类型判断方法!!!!
13 1
|
5天前
|
存储 JavaScript 前端开发
JavaScript数据类型全解:编写通用函数,精准判断各种数据类型
JavaScript数据类型全解:编写通用函数,精准判断各种数据类型
10 0
|
1月前
|
存储 前端开发 JavaScript
前端基础(三)_JavaScript数据类型(基本数据类型、复杂数据类型)
本文详细介绍了JavaScript中的数据类型,包括基本数据类型(Number、String、Boolean、Undefined、Null)和复杂数据类型(Object),并解释了如何使用`typeof`操作符来识别变量的数据类型。同时,还讨论了对象、函数和数组等复杂数据类型的使用方式。
30 2
|
1月前
|
JavaScript 前端开发
JavaScript基础知识-基本数据类型和引用数据类型
关于JavaScript基础知识的文章,主要介绍了基本数据类型和引用数据类型。
37 2
JavaScript基础知识-基本数据类型和引用数据类型
|
2月前
|
JavaScript 前端开发
JavaScript基础&实战(1)js的基本语法、标识符、数据类型
这篇文章是JavaScript基础与实战教程的第一部分,涵盖了JavaScript的基本语法、标识符、数据类型以及如何进行强制类型转换,通过代码示例介绍了JS的输出语句、编写位置和数据类型转换方法。
JavaScript基础&实战(1)js的基本语法、标识符、数据类型
|
2月前
|
开发者 图形学 开发工具
Unity编辑器神级扩展攻略:从批量操作到定制Inspector界面,手把手教你编写高效开发工具,解锁编辑器隐藏潜能
【8月更文挑战第31天】Unity是一款强大的游戏开发引擎,支持多平台发布与高度可定制的编辑器环境。通过自定义编辑器工具,开发者能显著提升工作效率。本文介绍如何使用C#脚本扩展Unity编辑器功能,包括批量调整游戏对象位置、创建自定义Inspector界面及项目统计窗口等实用工具,并提供具体示例代码。理解并应用这些技巧,可大幅优化开发流程,提高生产力。
229 1
|
2月前
|
JavaScript 前端开发
JS常用数据类型转换(数字型和字符串型之间转换)
JS常用数据类型转换(数字型和字符串型之间转换)
52 2