JavaScript的类型转换

01) 其他数据类型到Boolean类型转换

通过Boolean() 函数转换

  【Boolean  true    false】

String 非空字符串 ""

Number 任何非0 0和NaN

Object 任何对象 null

Undefined n/a undefined (n/a not applicable 不适用)

例如:

Boolean(""); //false

Boolean(0); //false

Boolean(NaN); //false

Boolean(null) //false

Boolean(undefined) //false

Boolean("briup"); //true

Boolean(1); //true

02) 其他数据类型到数值类型转换

1.Number()

1) 如果转换的值是null,undefined,boolean,number

Number(true); //1

Number(false); //0

Number(null); //0

Number(undefined); //NaN

Number(10); //10 如果是数字值,原样输出

2) 如果是字符串:

Number("123");  //如果仅包含数值,转换为对应的数值

Number("234.1");//解析为对应的小数

Number("+12.1");//首位为符号位,其余为为数值,转换为对应的数值

NUmber("1+2.3");//NaN 符号位出现在其他位置,解析为NaN

Number("0xa");  //如果仅包含十六进制格式,转为为对应的十进制的值

Number("010"); //【注意!】不会当做八进制被解析,结果为10

Number(""); //空字符串被转换为0

Number("123ac");//包含其他字符: NaN

Number(" 12"); //12

2.parseInt()

1) 如果转换的值是null,undefined,boolean,number

parseInt(true); //NaN

parseInt(false); //NaN

parseInt(null); //NaN

parseInt(undefined);//NaN

parseInt(10); //10 如果是整数值,原样输出

parseInt(10.3); //10 如果是小数,舍去小数点一级后面的内容

2) 如果是字符串:

parseInt("123");  //123;如果仅包含数值,转换为对应的数值

parseInt("234.1");//234;小数点后面的数值省略

parseInt("+12.1");//12; 首位为符号位,其余为为数值,转换为整数

parseInt("0xa");  //10; 如果仅包含十六进制格式,转为为对应的十进制的值

parseInt("010");  //10; 【注意!】不会当做八进制被解析,结果为10

parseInt("");  //NaN;空字符串被转换为NaN

parseInt("1+2.3");//1; 如果首位为数值,依次向后解析,找到连续的数值,直到遇到第一个非数值的,将之前获取的数值转换为Number返回

parseInt("123ac");//123;

        3.parseFloat()

与parseInt() 类似,但是也有不同: 

1.字符串中的第一个小数点是有效的,而第二个小数点则无效其后的内容会被省略

2.始终忽略前导0

parseFloat("22.3.4") //22.3

parseFloat("022.34"); //22.34

03) 其他数据类型到字符串类型转换

1. toString()函数

默认情况下,格toString()是以十进制式返回数值的字符串表示,通过传递参数,可以输入以二进制,八进制,十六进制乃至任意有效进制格式的字符串值

var num = 10;

num.toString(); "10"

num.toString(2); "1010"

num.toString(8); "12"

num.toString(16); "a"

但是null ,undefined 没有toString() 方法

      null.toString() //报错 TypeError: null has no properties  

        undefined.toString(); //报错 TypeError: undefined has no properties

2. String() 构造函数

        String(null) "null"

        String(undefined); "undefined"

原文地址:https://www.cnblogs.com/jalenFish/p/14099094.html