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

    作者:陈太浪更新于: 2020-02-29 16:15:29

    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以减少对服务器的负担,而与此同时也带来另一个问题:安全性。

课课家教育

未登录

1