js中的几种强制类型转换

js中的强制类型转换

    • 一.number类型
          • 1.Number(xx)
          • 2.parseFloat(xx)
          • 3.parseInt(xx)
    • 二.number类型
          • 1.xx.toString(xx)
          • 2.String(xx)
    • 三.Boolean类型
          • Boolean(xx)

一.number类型

1.Number(xx)
<script>
       Number(true)   //1
       Number(false)   //0
       Number("")   //0
       Number(null)   //0
       Number(undefined)   //NaN
       Number("任意字符串")   //NaN 
       Number("2")   //2      
</script>

Number只能将纯数字的字符串转换成数字,其他的字符串或转义字符均转换成NaN

2.parseFloat(xx)
<script>
       ParseFloat(true)   //NaN
       ParseFloat(false)   //NaN
       ParseFloatr("")   //NaN
       ParseFloat(null)   //NaN
       ParseFloat(undefined)   //NaN
       ParseFloat("abcd")   //NaN 
       ParseFloat("2.0")   //2  
       ParseFloat("2.0a")   //2
       ParseFloat("2.1")   //2.1   
       ParseFloat("2.1A")   //2.1         
</script>

a.如果转换数字的时候小数点后面是0会自动省略(可以使用toFixed保留小数)
b.直到碰到第一个不是数字和小数点的字符就不再继续读取

3.parseInt(xx)
<script>
       ParseInt(true)   //NaN
       ParseInt(false)   //NaN
       ParseInt("")   //NaN
       ParseInt(null)   //NaN
       ParseInt(undefined)   //NaN
       ParseInt("abcd")   //NaN 
       ParseInt("2")   //2  
       ParseInt("2a")   //2
    
</script>

用法与parseFloat类似

**注意
a.Number可将undefined null 空字符串和true和false转换成数字,而parseFloat和parseInt并不能
b.NaN是number中的一个值,代表一切不是数字的值
c.如果将非字符串转换成数字,一般使用Number()(可以转换布尔和空字符串等),如果将字符串转换成数字,首选parse系列(可以将末尾的字符串清除)
**

二.number类型

1.xx.toString(xx)

可以将xx转换成字符串
问题:不能转换null和undefined

2.String(xx)

可以将xx转换成字符串

xx.toString和string(xx)作用类似,但前者有条件限制,所以建议一般使用后者

三.Boolean类型

Boolean(xx)

将xx转换成布尔型
注意:只有0,null,NaN undefined,false转换成false,其他均为true

你可能感兴趣的:(js核心)