数据类型的转化

数据类型的转化:

JavaScript中数据类型的转化,分为自动转化强制转化
数据类型是将 当前类型的当前数值 转化为 对应类型的对应数值
在计算机程序中,是数据数值的变化转化,而不能理解为相等的关系

布尔类型的自动转化:
在 执行 if 判断时 ,其他数据类型会自动转化为布尔类型
原则:转化为 false : 0 ‘’ undefined null NaN 这五种情况转化为false,其他的所有 都会转化为 true
字符串的自动转化:
JavaScript程序中,会自动转化为 字符串类型,再执行拼接
转化原则:
布尔值 true —> 字符串 ‘true’
布尔值 false —> 字符串 ‘fasle’
undefined —> 字符串 ‘undefined’
null —> 字符串 ‘null’
数值 —> 将数值解析转化为 对应的 纯数字的字符串
(科学技术法,会解析为表示的数值,然后再拼接)
数组 —> 将 [] 中的内容,转化为字符串的形式,进行拼接
对象 —> 任何对象,任何内容,都会转化为 [object Object] 固定的内容形式
函数 —> 将所有的程序代码,转化为字符串
数值的自动转化:
在执行数学运算时 会触发数值类型的自动转化
转化原则:
布尔类型 : true —> 1
false —> 0
undefined : 转化为 NaN
null : 转化为 0
字符串 :
如果整个字符串,是纯数字字符串,或者符合科学计数法 —> 转化为对应的数值
(科学计数法字符串,转化为对应的数值,参与运算)
如果字符串内有不符合数字规范的内容’123abc’ —> 转化为 NaN
数组,对象,函数
如果是 + 加号 执行的是字符串拼接效果
按照这些数据类型转化为字符串的原则来转化
如果是 其他形式的运算 执行结果都是 NaN
布尔类型的强制转换:
其他数据类型,强制转化为布尔类型
就是使用JavaScript中定义好的 方法/函数: Boolean( 数据/变量 )
转化原则与自动转化原则相同
false : 0 ‘’ undefined null NaN
true : 其他数据,都转化为true
Boolean() 这个方法 不会改变 变量中存储的原始数值
使用 Boolean() 方法 转化 变量中存储的数值,但是不会改变变量中存储的数值只是将变量中的数值,解析获取,再转化输出,不会改变变量中存储的内容
字符串类型的强制转换:
其他类型强制转化为字符串类型
方法1 变量.toString(进制类型)
将数值强制转化为字符串,并且可以设定转化的进制
.toString() 之前,不能直接写数值,必须是写成变量的形式
进制常用的数值是 2 8 16
可以设定的范围是 2 - 36 进制 10个数值+26个英文字母
最少是2进制,最多是36进制(中没有输入,默认执行十进制)
方法2, String( 变量 / 数据 )
将变量或者数据,转化为字符串
原则按照自动转化的原则来执行
不会改变变量中存储的原始数值
字符串拼接时,会将其他数据类型自动转化为字符串
数值的强制转换:
将其他数据类型强制转化为 数值类型
方法1 , Number(变量/数值)
将其他类型强制转化为数值类型,转化原则与自动转化选择相同
2, parseInt(变量 / 数据)
是获取变量或者数据的整数部分
从数据的 左侧起 解析获取 整数内容
True false undefined null 对象,函数均为NaN

  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')} ) ); 
    console.log( parseInt( '100' ) );         // 与数字的结果相同 
        console.log( parseInt( '0.0123' ) );      // 与数字的结果相同 

数组执行,是获取 数值部分 也就是 没有 []的部分
获取第一个数值的整数部分,如果有就获取,如果没有,结果是NaN
如果是整数就直接获取,如果是浮点数,或者科学计数法,就获取整数部分
如果是纯数字的字符串与数字的结果相同
整数,是正常获取
浮点数,获取整数部分,也就是小数点之前
科学计数法 获取 e字符串之前的整数部分
带有不符合数值规范的内容,获取从左侧起,符合整数规范的部分
parseFloat(数值/变量)
从数据的左侧起 获取数据的整数部分
布尔类型 undefined null 对象 函数 —> NaN
数组 是获取数组中 第一个单元的 整数部分
有整数部分,执行结果就是这个整数部分的内容
没有整数部分,执行结果是 NaN
数值 整数,浮点数都是正常获取
字符串 整数,是正常获取
浮点数,是正常获取浮点数部分
科学计数法 会解析成浮点数来获取结果
带有不符合数值规范的内容,获取从左侧起,符合整数规范的部分
逆战班

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值