下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

Web前端:JavaScript中基本数据类型之间的转换

作者:陈太浪     来源: https://www.cnblogs.com/TomHe789/p/12334469.html点击数:1048发布时间: 2020-02-29 16:15:33

标签: JavaScript脚本语言PHP

Web开发

  Javascript是一种脚本语言,其源代码在发往客户端运行之前不需经过编译,而是将文本格式的字符代码发送给浏览器由浏览器解释运行。解释语言的弱点是安全性较差,而且在JavaScript中,如果一条运行不了,那么下面的语言也无法运行。

  在JavaScript中共有六种数据类型,其中有五种是基本数据类型,还有一种则是引用数据类型。五种基本数据类型分别是:Number数值类型、String字符串类型、Boolean布尔类型,null空类型、以及undefined未定义类型,下面就开始详细介绍它们之间的转换以及转换过程中的注意点。

  1、基本数据类型转换为数值类型

  1.1、在JavaScript中将其它基本四种基本数据类型装换为数值类型,有三种常用的方法:

  1.1.1、通过Number(常量/变量)

  1.1.2、通过parseInt(需要转换的字符串)/parseFloat(需要转换的字符串)

  1.1.2.1、parseInt/parseFloat都会从左至右的提取数值,一旦遇到非数值就会立即停止,

  停止的时候如何还没有提取到数值,那么就返回NaN

  1.1.3、通过’+’/’-’来转换

  1.1.3.1、虽然通过+/-都可以将其它类型转换为数值类型,但是-会改变数值的正负性;

  1.1.3.2、+/-底层本质上就是调用了Number函数

  1.2、将其它基本四种基本数据类型装换为数值类型的注意点:

  1.2.1、将字符串类型转换为数值类型

  1.2.1.1、如果字符串都是数值,那么就正常转换

  1.2.1.2、如果字符串是一个空串,例如””(什么都没有存)或者是””(仅仅存储了空格),那么转换之后就是0

  1.2.1.3、如果字符串中既包含数字还包含字母,例如”abc123”,那么转换之后就是NaN

  1.2.2、将布尔类型转换为数值类型

  1.2.2.1、true转换为1

  1.2.2.2、false转换为0

  1.2.3、将空类型转换为数值类型

  1.2.3.1、null转换为0

  1.2.4、将未定义类型转换为数值类型

  1.2.4.1、undefined转换为NaN

  2、基本数据类型转换为字符串类型

  2.1、在JavaScript中将其它基本四种基本数据类型装换为字符串类型,有三种常用的方法

  2.1.1、对于数值类型和布尔类型来说,可以通过变量名称.toString()的方式来转换

  2.1.2、可以通过String(常量/变量);

  2.1.3、还可以通过变量/常量+""/’’来转换为字符串

  2.2、将其它基本四种基本数据类型装换为字符串类型的注意点:

  2.2.1、通过变量名称.toString()的方式来转换是对拷贝的数据进行转换,并不会影响到原有的数据

  2.2.2、不能使用常量直接调用toString方法,因为常量是不能改变的

  2.2.3、String(常量or变量),由于是根据传入的值重新生成一个新的值,并不是修改原有的值

  2.2.4、将undefined未定义类型通过String()的方式转换为字符串类型,转换之后还是undefined

  2.2.5、将null空类型通过String()的方式转换为字符串类型,转换之后还是null

  2.2.6、通过变量/常量+""/’’来转换为字符串,底层的本质其实就是调用String()函数

  3、基本数据类型转换为布尔类型

  3.1、在JavaScript中如果想将基本数据类型转换为布尔类型,那么只需要调用Boolean(常量or变量)

  3.2、将其它基本四种基本数据类型装换为字符串类型的注意点:

  3.2.1、将字符串类型转换为布尔类型只要字符串中有内容都会转换为true,只有字符串中没有内容才会转换为false

  3.2.2、将数值类型转换为布尔类型只有数值是0才会转换为false,其它的都会转换为true如果是NaN也会转换为false

  3.2.3、将undefined类型转换为布尔类型undefined会转换为false

  2.2.4、将null类型转换为布尔类型会转换为false

  2.2.5、在JavaScript中NaN属于Number类型

  2.2.6、空字符串/0/NaN/undefined/null会转换成false,其它的都是true

  4、小结

  JavaScript与其它的编程语言的数据类型之间的转换类似,虽然它不像C语言那样将数据类型分的那么清楚,例如JavaScript中的数值类型就包含了C中的整型、单精度/双精度浮点型等等。但是,在JavaScript中,不同数据类型之间的转换和C语言中不同数据类型之间的转换还是类似的,转换类型都分为两种,一种是自动转换,另一种是强制转换,只不过JavaScript中新增了一些转换的方法。

  不同于服务器端脚本语言,例如php与ASP,JavaScript是客户端脚本语言,也就是说JavaScript是在用户的浏览器上运行,不需要服务器的支持而可以独立运行。所以在早期程序员比较青睐于JavaScript以减少对服务器的负担,而与此同时也带来另一个问题:安全性。

赞(0)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程