JavaScript数据类型的转换

数据类型转换只针对于基本数据类型,复杂数据类型大多数情况下用不到数据类型转换。

其他数据类型转换为数值

Number(数据)

规律:1.  true为1,false为0,null为0,undefiend为NaN, 空数组为0,

           2. 引用数据类型转化时先转为字符串,再转为数值。

           3.  只能识别纯数字字符串,可保留一位小数,只能识别1个小数点

 <script>
        console.log(Number('123'));//123
        console.log(Number('123.456'));//123.456
        console.log(Number('123.456.789'));//NaN
        console.log(Number('123px'));//NaN
        console.log(Number(true));//1
        console.log(Number(false));//0
        console.log(Number(null));//0
        console.log(Number(undefined));//NaN
        console.log(Number({}));//NaN
        console.log(Number({name:'张三'}));//NaN
        console.log(Number([]));//0
        console.log(Number(['100']));//100
        console.log(Number(['100.100']));//100.1
        console.log(Number(['100.100.100']));//NaN       
    </script>

parseInt(数据)

规律:1.  不识别小数点(遇到小数点就停止转化了)

           2.  遇到字符就停止转化了

           3.  其他类型就转为NaN, 数组中特例类似于字符串

  <script>
        console.log(parseInt('123'));//123
        console.log(parseInt('123.456'));//123
        console.log(parseInt('123px'));//123
        console.log(parseInt('px123px'));//NaN
        console.log(parseInt(true));//NaN
        console.log(parseInt(false));//NaN
        console.log(parseInt(null));//NaN
        console.log(parseInt(undefined));//NaN
        console.log(parseInt({}));//NaN
        console.log(parseInt({name:"张三"}));//NaN
        console.log(parseInt([]));//NaN
        console.log(parseInt(""));//NaN
        console.log(parseInt([100]));//100
        console.log(parseInt([100.100]))//100
        console.log(parseInt(['123px']));//123
    </script>

parseFloat(数据)

规律:1.  可识别一位小数点,遇到字符就停止转化了。

           2.  一开始就不是数字就NaN

           3.  其他类型转化为NaN, 数组中特列类似于字符串

 <script>
        console.log(parseFloat('123'));//123
        console.log(parseFloat('123.123'));//123.123
        console.log(parseFloat('123.123.123'));//123.123
        console.log(parseFloat('123px'));//123
        console.log(parseFloat('px123px'));//NaN
        console.log(parseFloat(true));//NaN
        console.log(parseFloat(false));//NaN
        console.log(parseFloat(null));//NaN
        console.log(parseFloat(undefined));//NaN
        console.log(parseFloat({}));//NaN
        console.log(parseFloat({name:"张三"}));//NaN
        console.log(parseFloat([]));//NaN
        console.log(parseFloat(""));//NaN
        console.log(parseFloat(['123']));//123
        console.log(parseFloat(['123.123']));//123
        console.log(parseFloat(['123.123.123']));//123
        console.log(parseFloat(['123px']));//123
        console.log(parseFloat(['px123px']));//NaN
    </script>

其他数据类型转化为字符串

String(数据)

 <script>
        console.log(String(123));//123
        console.log(String(true));//true
        console.log(String(false));//false
        console.log(String(null));//null
        console.log(String({}));//[object Object]
        console.log(String([]));//空,什么都没有
        console.log(String(""));//空,什么都没有
        console.log(String(['123',456]));//123,456
    </script>

数据.toString()

          与String不同点,null,undefined没有toString方法,使用会报错

其他类型转化为布尔值

规律:对于单个数据而言,0,NaN,  " " ,  null ,  undefined是假,其他为真。

isNaN

判断当前是否是数字,是返回false,  否返回true.

isNaN(数据)

内置进行隐式转换。先转为数字(符合Number的规律),再判断。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值