JS中的数据类型的转化
2020-03-25 08:10
218 查看
数据类型的转化
目前还在学习中,这次稍微总结下所学到关于数据类型的转换。
什么是数据类型的转化,为什么要有数据类型的转化在 JavaScript 程序中 , 变量中存储的数据类型没有限制,也就是在变量中可以存储任何符合JavaScript语法规范的数据类型;但是 在 JavaScript 程序的执行过程中,往往需要变量中存储的数值是某种特定的数据类型,别的数据类型不行,此时就需要进行数据类型的转化,所谓的数据类型转化,就是将当前数据类型转化为其他数据类型。
JavaScript中数据类型的转化,分为自动转化和强制转化
布尔类型的自动转化
其他数据类型,自动转化为布尔类型,在 执行 if 判断时 ,其他数据类型会自动转化为布尔类型
其他类型转化为布尔类型的原则 转化为 false : 0 ''(空字符串) undefined null NaN 这五种情况转化为false 特别提醒 0.0 0.00000 都算是0 其他的所有 都会转化为 true 这里不是表示对错,是如果 0 要是 按照 布尔类型类执行转化 ,转化的结果是 false
字符串的自动转化
其他类型自动转化为字符串,在 执行 字符串拼接 时, 会将其他数据类型转化为字符串类型,执行字符串拼接, 拼接符号 +号 两侧 应该都是 字符串类型,如果是其他类型 JavaScript程序,会自动转化为 字符串类型,再执行拼接
转化原则 布尔值 true ---> 字符串 'true' 布尔值 false ---> 字符串 'fasle' undefined ---> 字符串 'undefined' unll ---> 字符串 'null' 数值 ---> 将数值解析转化为 对应的 纯数字的字符串
这里有三个特殊的转化,先记住结果,还未学深;
数组 ---> 将 [] 中的内容,转化为字符串的形式,进行拼接 对象 ---> 任何对象,任何内容,都会转化为 [object Object] 固定的内容形式 函数 ---> 将所有的程序代码,转化为字符串
数值的自动转化
其他类型自动转化为数值,在执行数学运算时,会触发数据类型的自动转化。
转化原则 布尔类型 : true ---> 1 false ---> 0 undefined : 转化为 NaN null : 转化为 0 字符串 : 如果整个字符串,是纯数字字符串,或者符合科学计数法 ---> 转化为对应的数值 如果字符串内有不符合数字规范的内容 ---> 转化为 NaN 数组,对象,函数 如果是 + 加号 执行的是字符串拼接效果 按照这些数据类型转化为字符串的原则来转化 如果是 其他形式的运算 执行结果都是 NaN 顺带一提:任何有NaN参与的运算,结果都是NaN
布尔类型的强制转化
其他数据类型,强制转化为布尔类型,就是使用JavaScript中定义好的 方法/函数
Boolean( 数据/变量 )
转化原则与自动转化原则相同 false : 0 '' undefined null NaN true : 其他数据,都转化为true 具体可以看上面的自动转换原则;
Boolean() 这个方法 不会改变 变量中存储的原始数值
字符串类型的强制转化
其他类型强制转化为字符串类型
方法1 变量.toString(进制类型) 将数值强制转化为字符串,并且可以设定转化的进制 .toString() 之前,不能直接写数值,必须是写成变量的形式 进制常用的数值是 2 8 16 可以设定的范围是 2 - 36 进制 10个数值+26个英文字母 最少是2进制,最多是36进制 2, String( 变量 / 数据 ) 将变量或者数据,转化为字符串 原则按照自动转化的原则来执行 不会改变变量中存储的原始数值
顺带一提:字符串拼接时,会将其他数据类型自动转化为字符串
数字的强制转化
将其他数据类型强制转化为 数值类型
方法1 :Number(变量/数值) 将其他类型强制转化为数值类型,转化原则与自动转化选择相同 console.log( Number(true) ); // 输出为1 console.log( Number(false) ); // 输出为0 console.log( Number(null) ); // 输出为0 console.log( Number(undefined) ); // 输出为NaN console.log( Number('100') ); // 对应的数值 console.log( Number('100.123') ); // 对应的数值 console.log( Number('2e4') ); // 对应的数值 方法2, parseInt(变量 / 数据) 是获取变量或者数据的整数部分 从数据的 左侧起 解析获取 整数内容 console.log( parseInt(true) ); // 都是 NaN console.log( parseInt(false) ); console.log( parseInt(null) ); console.log( parseInt(undefined) ); console.log( parseInt( {name:'zhangsan'} ) ); console.log( parseInt( function fun(){console.log('abc')} ) ); 数组执行,是获取 数值部分 也就是 没有 []的部分 1,2,3,4,5 整数部分是 1 1之后是逗号 逗号不是整数,之后的部分也就不算整数 获取第一个数值的整数部分,如果有就获取,如果没有,结果是NaN console.log( parseInt( [1,2,3,4,5] ) ); // 结果是 1 console.log( parseInt( [null,2,3,4,5] ) ); // 结果是 NaN 如果是整数就直接获取,如果是浮点数,或者科学计数法,就获取整数部分 console.log( parseInt( 100 ) ); // 整数是直接获取 console.log( parseInt( 0.0123 ) ); // 浮点数是获取整数部分 0 console.log( parseInt( 3.123456e3 ) ); // 科学计数法是解析之后,获取整数部分 方法3 , parseFloat( 变量 / 数值 ) 获取浮点数部分,基本规则与方法2差不多,但是parseFloat可以识别一次小数点,获取小数点后面的数字,但是如果 有两个小数点,也只识别第一个小数点,第二个小数点后面的不获取 console.log( parseFloat( '0.0123' ) ); // 与数字的结果相同 console.log( parseFloat( '3.1223.136' ) ); //结果为3.1223
感谢各位小哥哥小姐姐能够看到这,如果有不足的地方欢迎指出,如果觉得对各位有帮助请点个赞,谢谢!
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- JS各种类型数据转化为布尔值的规则
- js 强制转化数据类型
- js第四节-数据类型以及类型的转化
- js中int和string数据类型互相转化实例
- js数据类型int和string转化
- Js数据类型的转化
- js 数据类型和转化
- js数据类型转化
- js jquery中 的数据类型
- 字符串和基本数据类型之间的相互转化
- Java 数据类型间的相互转化
- js读取解析JSON类型数据【申明:来源于网络】
- Js基础知识梳理系列(01):数据类型
- JS的数据类型
- 数据类型回顾——数据类型转换(显式和隐式)—JS学习笔记2015-6-3(第47天)
- Javascript基础系列之(三)数据类型 (类型转化)
- Java基本数据类型的数据转化为字节数据的方法
- JS 数据类型转换 方法主要有三种
- js 数据类型转换总结笔记
- js判断数据类型的三种方法(文章最后有快捷方法哦!)