JavaScript中数据类型的转化

在Javascript中数据类型的转化分为两种:自动转化和强制转化

我们了解到数据类型有布尔数据类型、数值类型(整数、浮点数、NaN)、字符串、undefined、null、数组、对象、函数。

一般数据类型的转化是向布尔类型、数值类型、字符串类型之间转化。

在自动转化中:

其他数据类型转化为布尔数据类型:

布尔数据类型要么是true,要么是false

转化为false的数据类型有:0 、''(空字符串) 、undefined 、null、NaN。其他的数据类型都转化为true。

方法是if语句。

其他类型转化为数值类型:

true转化为1,false转化为0,(undefined、数组、对象、函数)转化为NaN,null转化为0

字符串的比较复杂:纯数字的字符串如“123456”转化为字符串里面的内容也就是123456;不符合数字规范的转化为NaN如‘123abc’

 数组,对象,函数

 如果是 + 加号 执行的是字符串拼接效果 

 按照这些数据类型转化为字符串的原则来转化

 如果是 其他形式的运算 执行结果都是 NaN

减号的话结果都是NaN

其他类型转化为字符串类型:

布尔值 true  ---> 字符串 'true'  布尔值 false ---> 字符串 'fasle'  undefined ---> 字符串 'undefined'  null ---> 字符串 'null'  

 数值 ---> 将数值解析转化为 对应的 纯数字的字符串(输出结果没有引号)

数组 ---> 将 [] 中的内容,转化为字符串的形式,进行拼接   对象 ---> 任何对象,任何内容,都会转化为 [object Object] 固定的内容形式

函数 ---> 将所有的程序代码,转化为字符串

其他类型强制转化为布尔类型:

通过console.log(Boolean(数据/变量));来实现强制转化的

转化原理与自动转化一样:转化为falsh:0 ‘’ undefined null NaN其他转化为true。

其他类型强制转化为字符串:

第一种是数值的进制转化 .toString()比如:var int=123;console.log(int.toString(2));就是转化为2进制的数。

第二种是string()将变量或者数据,转化为字符串, 原则按照自动转化的原则来执行,不会改变变量中存储的原始数值

其他类型转化为数值类型:

与自动转化为数值类型原理相同

方法:1、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')} ) ); 

数组执行,是获取 数值部分 也就是 没有 []的部分,获取第一个数值的整数部分,如果有就获取,如果没有,结果是NaN

如果是整数就直接获取,如果是浮点数,或者科学计数法,就获取整数部分

字符串有所不同,如果是纯字符串的话直接输出引号里的数值的整数部分,如果是不规则的数值字符串就输出从左至右解析数值的整数部分。科学计数法也是从左至右解析整数部分,不会算出来在解析。

2、ParseFloat(变量或数值)

获取浮点数部分

 // console.log( parseFloat(true) );                                    // 都是 NaN            

// console.log( parseFloat(false) );                                   

// console.log( parseFloat(null) );                                    

// console.log( parseFloat(undefined) );                               

// console.log( parseFloat( {name:'zhangsan'} ) );                     

// console.log( parseFloat( function fun(){console.log('abc')} ) );  

数值    整数,浮点数,都会完整获取   例如console.log(ParseFloat(‘100.123’));输出的是100.123

在科学计数法中转化与ParseInt有些不同,ParseFloat是将内容解析出来,比如‘123.4567e3’输出的是123456.7

而ParseInt输出的则是123

逆战班0314

       

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值