数据类型的转化
-
定义:将当前数据类型转化为其他数据类型。分为自动转化和强制转化
-
自动转化:计算机程序执行时,自动进行的转化
①.**其他类型自动转化为布尔类型的转化原则** 1.转化为false:0、''、undefined、null、NaN。 2.转化为true:其他的所有都转化为true 3.if判断的基本语法 if(表达式){ 执行程序 }else{ 执行程序 } ②.**其他类型自动转化为字符串** 1.在执行字符串拼接时,会将其他数据类型转化为字符串类型 var str1 = '北京' + '上海'; 2.转化原则: 布尔值true ---> 字符串'true' 布尔值false ---> 字符串'false' undefined ---> 字符串'undefined' null ---> 字符串'null' 数值 ---> 将数值解析转化为对应的纯数字的字符串(科学计数法会解析为表示的数值,再拼接) 数组 ---> 将 [] 中的内容,转化为字符串的形式,执行拼接操作 对象 ---> 任何对象,任何内容,都会转化为 [object Object] 固定的内容形式,执行拼接操作 函数 ---> 将所有的程序代码,转化为字符串,执行拼接操作 ③.**其他类型自动转化为数值** 1.在执行数学运算时,会触发数据类型的自动转化为数值 2.转化原则: 布尔值true ---> 转化为 1 布尔值false ---> 转化为 0 undefined ---> 转化为 NaN null ---> 转化为 0 字符串: ---> 如果整个字符串,是纯数字字符串,或者符合科学计数法 ---> 转化为对应的数值 ---> 如果字符串内有不符合数字规范的内容 ---> 转化为 NaN 数组、对象、函数 ---> 如果是 + 号,执行的是字符串拼接效果,按照这些数据类型转化为字符串的原则来转化。如果是其他形 式的运算,执行结果都是NaN 注:任何有NaN参与的运算,结果都是NaN
-
强制转化:人为进行的转化
①.**其他数据类型,强制转化为布尔类型** 方法:使⽤ Boolean( 数据/变量 );,可使其他数据类型强制转为布尔值 1.转化为false:0、''、undefined、null、NaN。 2.转化为true:其他的所有都转化为true 注:使用 Boolean() 方法 只是将变量中的数值,解析获取,再转化输出,不会改变变量中存储的内容 ②.**其他数据类型,强制转化为字符串类型** 方法1:变量.toString(进制类型):将数值强制转化为字符串,并且可以设定转化的进制 注: 不能直接写数值,必须是写成变量的形式。 可以设定的范围是 2 - 36 进制 方法2:String( 变量 / 数据 ):将变量或者数据,转化为字符串 原则:按照自动转化的原则来执行,不会改变变量中存储的原始数值 ③.**其他数据类型,强制转化为数值类型** 方法1:Number(变量/数值) ①.与自动转化原则相同 ②.不会改变,变量中存储的数值 方法2:parseInt(变量 / 数据):从数据的左侧起 获取数据的整数部分 1.true、false、null、undefined、对象、函数,执行结果都是NaN 2.数组是获取数组中 第一个单元的 整数部分(有整数部分,执行结果就是这个整数部分的内容。没有整数部分,执行结果就是NaN) 3.数值是整数正常获取,浮点数获取小数点之前的部分 4.字符串 整数:正常获取 浮点数:获取整数部分,也就是小数点之前 科学计数法:获取 e字符串之前的整数部分 注:带有不符合数值规范的内容,获取从左侧起,符合整数规范的部分 方法3:parseFloat( 变量 / 数值 ) 1.true、false、null、undefined、对象、函数,执行结果都是NaN 2.数组是获取数组中 第一个单元的 整数部分(有整数部分,执行结果就是这个整数部分的内容。没有整数部分,执行结果就是NaN) 3.数值:整数、浮点都是正常获取 4.字符串 整数:正常获取 浮点数:正常获取浮点数部分 科学计数法:会解析成浮点数来获取结果