首先,我们来谈一谈什么是数据类型的转化,我们为什么要学数据类型的转化?
在我们的JavaScript的程序中,任何一个变量中所存储的数据类型都是没有限制的,你可以在变量中可以存储任何符合JavaScript语法规范的数据类型,但是在JavaScript 程序的执行过程中,往往需要变量中存储的数值是某种特定的数据类型,别的数据类型不行(如if判断的条件必须是布尔值),那么这个时候就需要进行数据类型的转化。
所谓数据类型的转化,就是将当前的数据类型转化为其他的数据类型,在JavaScript中数据类型的转化,分为自动转化和强制转化。自动转化是计算机程序,自动完成的转化。强制转化是程序员,强行完成的转化。接下来我们看看具体的数据类型的转化。
一、布尔类型的自动转化
我们先来看一看其他数据类型,自动转化为布尔类型。
在执行if判断时,其他数据类型会自动转化为布尔类型。当其他数据类型为:0 ‘’ undefined null NaN 这五种情况时会转化为false,其他的所有情况都会转化为true。
二、字符串的自动转化
我们再来看一看其他数据类型,自动转化为字符串类型。
在执行字符串拼接 时, 会将其他数据类型转化为字符串类型,执行字符串拼接, 拼接符号+号两侧应该都是字符串类型,如果是其他类型,JavaScript程序会自动转化为字符串类型再执行拼接。
转化原则:布尔值true→字符串’true’,布尔值false→字符串’false’,undefined→ 字符串 ‘undefined’,unll→字符串 ‘null’,数值→将数值解析转化为对应的纯数字的字符串,科学技术法会解析为表示的数值,然后再拼接。数组→ 将 [] 中的内容,转化为字符串的形式,进行拼接,对象→任何对象,任何内容,都会转化为 [object Object] 固定的内容形式,函数→将所有的程序代码,转化为字符串。
三、数值的自动转化
接下来是其他数据类型自动转化为数值。
在执行数学运算时,会触发数据类型的自动转化。
转化原则:布尔值true→1,布尔值false→0,undefined→NaN,null→0,字符串 : 如果整个字符串是纯数字字符串,或者符合科学计数法→转化为对应的数值,如果字符串内有不符合数字规范的内容 →NaN。数组,对象,函数:如果是 + 加号 执行的是字符串拼接效果,按照这些数据类型转化为字符串的原则来转化,如果是其他形式的运算,执行结果都是NaN。
四、布尔类型的强制转化
其他数据类型,强制转化为布尔类型,就是使用JavaScript中定义好的方法/函数:Boolean( 数据/变量 ),转化原则与自动转化原则相同。
五、字符串类型的强制转化
其他类型强制转化为字符串类型。
方法1:变量.toString(进制类型)。将数值强制转化为字符串,并且可以设定转化的进制。.toString() 之前,不能直接写数值,必须是写成变量的形式 ,进制常用的数值是 2、8、16 。可以设定的范围是 2 - 36 进制(10个数值+26个英文字母 )最少是2进制,最多是36进制。
方法2:String( 变量 / 数据 ) 。将变量或者数据,转化为字符串,原则按照自动转化的原则来执行,不会改变变量中存储的原始数值。
注意:字符串拼接时,会将其他数据类型自动转化为字符串。
六、数字的强制转化
将其他数据类型强制转化为数值类型。
方法1:Number(变量/数值)。将其他类型强制转化为数值类型,转化原则与自动转化选择相同。
方法2:parseInt(变量 / 数据)。是获取变量或者数据的整数部分,从数据的左侧起解析获取整数内容。
方法3:parseFloat( 变量 / 数值 )获取浮点数部分。
数据类型的转化 自动转化 强制转化
最新推荐文章于 2024-08-03 17:05:14 发布