文章目录
- 前言
- 一、什么是数据转换
- 二、不同数据类型之间的转换方式
- 总结
前言
昨天我们介绍了什么是变量以及数据类型,今天所要介绍的是JS中数据类型之间的相互转换,这一小节在后面的学习中有着至关重要的作用,初学Js的同学一定要多花时间理解其中的方法与含义。
一、什么是类型转换
有时候我们在使用数据时,例如一个字符型和一个数字形的加法运算,因为数据格式不同因此不能进行运算,所以我么可能想把当前数据的数据类型变为其他的数据类型,这就需要用到我们今天所要学到的数据的类型转换。
二、不同数据类型之间的转换方式
1.其他数据类型转换为String(字符型)
方式一:toString( ) 方法
- 调用被转换数据类型的 toString( ) 方法
例如 : 调用a 的 toString( )方法 a.toString( );
- 该方法不会影响到原变量,它会将转换的结果返回,
- 但是注意: null和undefined 这两个值没有 toString( )方法,会报错
方式二:调用String( )函数,
- 调用String( )函数,并将被转换的数据作为参数传递给函数
- 使用String( )函数作强制类型转换时,对于number 和 Boolean 实际上就是调用的toString( )方法 ,返回String,但是对于null 和undefined 就不会调用toString( )方法,它会将 null 直接转换为 "null" 将undefined 直接转换为 “undefined” 。
方式三:通过字符串拼接的方式
所谓字符串的拼接,就是利用 + 可以把两个字符串类型拼接起来成为一个新的字符串
var number= 10; //定义一个变量number并赋值为10(数值型)
number = number + '' "; //将数值型number拼接一个空的字符串 ” ”
console.log(typeof number); // 该语句将返回 String
2.其他数据类型转换为Number(数值型)
方式一:使用Number( )函数
- 字符串 转 数字
- 纯数字的字符串,直接转为字符串
- 字符串中有非数字的内容,转为NaN
- 如果字符串是一个或多个空格,转为 0
- 布尔值 转 数字
- true 转为 1
- false 转为 0
- null 转 数字 为0
- undefined 转 数字 NaN
方式二: 通过数学运算符进行转换,在不影响原数字的情况下可以使用例如 * / - 等进行,加号会视为字符串的拼接
var str = '1';
str = str -0;
console.log(typeof str); //返回值为 number
方式三: 专门用来对付字符串
- parseInt ( ) 把一个字符串转换为一个整数,从左到右依次转换彭碰到非数值时停止转换。
- parseFloat( ) 把一个字符串转换为一个浮点数
,会先将其转换为String 然后再操作
该处使用的url网络请求的数据。
补充知识点:
JS中的其他进制数字表示
我们知道在日常生活中我们常使用的是十进制,而对计算机而言,它只能识别机器语言,也就是说我们常说的二进制语言,只有1 和 0 构成,了解的同学应该知十六进制( 0X)、 八进制(0)、 二进制(0b ),但是不是所有的浏览器都支持这些数据格式,可能会将其解析为十进制或者八进制,此时也要进行进制之间的相互转换。
在JavaScript 我们可以在parseInt ( ) 中传递一个第二个参数,来指定数字的进制。
例如, a=parseInt( a, 10); a为一个十进制的数字
3.其他数据类型转换为Boolean(布尔值)
使用Boolean ( )函数
- 数字 转 布尔 除了0 和 NaN其余都是 true 非空即true
- 字符串 转 布尔 除了空串其余都是 true
- null 和 undefined 都会转换为 false
- 对象也会转换为true
细心的同学可能会发现上文没有介绍将其他数据类型转化内 undefined 与 null的方法,在上一篇文章中讲到过,这两种数据类型没有实质性的意义和作用,因此可以这样来理解转换为这两种形式是没有意义的,也就没有定义这种方法。
总结
以上就是今天所要和大家分享的内容,只讲述了一个小节,但却十分重要,我会尽量描述的详细以此能够帮助到大家,也真心接受有心的同学提出的宝贵意见。另外,依旧诚挚祝福看到这篇文章的你健康快乐、平安喜乐。