javaScript系列---【数据类型的强制转换】

12.数据类型的强制转换

1.其它数据类型转为数字

引用数据类型转为数字,先内置调用toString()方法,然后再去转为数字

  • Number(数据);

    • 将转完后的值 返回 转不成具体的数值 返回NaN

    • 字符串转为数字,必须是纯数字字符串,一旦遇到非数字字符,就停转转换返回NaN,但是可以识别小数(只能识别一个小数),可以保留小数

    • 布尔类型转为数字 true->1 false->0

    • null -> 0 ""->0 [ ]->0

    • 其它类型转为数字都是NaN

  • parseInt(数据);

    • 字符串转为数字一旦遇到非数字字符就停止转换了,并且不识别小数点,开头就是非数字字符返回NaN (转为整数)

    • 其它类型全部返回NaN

    • 数组特殊

  • parseFloat(数据);

    • 字符串转为数字一旦遇到非数字字符就停止转换了,识别小数点,开头就是非数字字符返回NaN (只能识别一个小数点)

    • 其它类型全部返回NaN

    • 数组特殊

2.其它数据类型转为布尔

对于单个数据而言,只有0 NaN null undefined "" 是假的 其它的都是真的

  • Boolean(数据);

 

3.其它类型转为字符串

区别:String(数据);可以将所有其它数据类型转为字符串,而变量.toString();,null和undefined没有这个属性

  • String(数据);

  • 返回字符串(任意数据类型都可以转为字符串)

    console.log(String({})); //'[object Object]' -> object:属于对象  Object:对象类
    console.log(String({
                name: "哈哈"
            }));//'[object Object]'
     console.log(String([])); //""
    console.log(String([1, 2, 3, {}])); 
    //1,2,3,[object Object]
  • 变量.toString();

    基本数据类型要用变量点出来

    console.log(nul.toString());//和undefined没有任何属性  //TypeError: Cannot read property 
    console.log(undef.toString());//undefined没有任何属性  //TypeError: Cannot read property 

    引用数据类型都可以

posted on 2021-03-11 21:51  码农小小海  阅读(61)  评论(0编辑  收藏  举报

导航