JavaScript原始类型转换和进制转换


1.JavaScript转换包括:强制转换和基本转换

如:

var  str = 'A',num=10,nu=null,t=true,und=undefined,x;

//注意:定义的x未被初始化;默认是undefined

强制转换:

Number(str);//输出:NaN 因为str不是数字

Number(undefined);//输出:NaN 因为str不是数字

Number(null);//输出0

Number(true);//输出1

Number(false);//输出0

String(num);//输出:“10”字符串

String(null);//输出:“null”字符串

String(undefined);//输出:“undefined”字符串

String(true);//输出:“true”字符串

Boolean(0);// false

Boolean("");空 false

Boolean(null);false

Boolean(undefined);false

非强制类型转换:(二进制,十进制,八进制,十六进制转换)

parseInt(str,16);//第二个参数指定原字符串进制;最终输出10进制格式的 10;

parseFloat(str);//NaN 非数字

num.toString(2);//输出:二进制的字符串 “1010”;

num.toString(16);//输出16进制 a

nu.toString();//报错;因为null和 undefined 值都无法转换 

t.toString();//返回 “true”字符串

强制类型和基本转换方法区别:

1.强制类型转换是转换的整个值 而 基本转换是转换其中开头的一部分。

2.一般在不知道该变量类型到底是什么类型;可以使用强制类型转换

如:String(null),Boolean(null);因为强制类型转换可以转换任意类型变量