字符型 数值型 布尔型 undefined null object
>> 整型
- 转换后的值:整数、浮点数、NaN(非数值的数值型)
- 各种类型的内容转化后的数值:
-
Number(值);常用转化方式.
var a=5; //5 本来就是数字哈,没必要转换,不过为了统一所有数据类型,还是加上了。
var a; //NaN undefined
var a=“4y”; //NaN 字符串中有字符
var a={e:1,u:3}; //NaN object
var a=“10”; //10
var a=“5.49”; //5.49
var a=true; //1
var a=false; //0
var a=null; //0
var a=""; //0 空字符串
console.log(Number(a)); -
parseInt(值);
可以转化字符串,将第一个字母之前的所有数字字符转化为数值;var b=“1a”; //1
var b=“12.15f”; //12
var b=""; //NaN
var b=“s112”; //NaN
var b=true; //NaN
var b=false; //NaN
var b; //NaN
var b=null; //NaN
var b={e:2}; //NaN
console.log(parseInt(b)); -
parseFloat(值)
var b=“12.15f”; //12.15
…其他都同上
console.log(parseFloat(b)); -
parseInt(要转换的内容,该内容是什么进制)其他进制转换成十进制
var c=1010; //10
var c=“1001”; //9
console.log(parseInt(c,2)); //二进制数—>十进制数
var c=“ff”; //255
console.log(parseInt(c,16)); //十六进制数—>十进制数
var c=1000; //512
var c=“1001”; //513
console.log(parseInt(c,8)); //八进制数—>十进制数
-
>> 字符型
- 转换后的值:字符串(原样打印,字体变成黑色)、[object Object](Object独享)
- 各种类型的内容转化后的数值:
-
String(值);
var d=“hello”; //又是他本身哈
var d=""; //就是空字符串啦甭管几进制,先把所有数值转化为10进制再转化为字符串,有这么一个过程.
var d=100; //100(黑色 ;控制台黑色是字符串,蓝色是数值)
var d=123.3 //123.3
var d=0; //0
var d=0xFF; //255
var d=3.184e+3; //3184 科学计数法原样打印
var d; //undefined
var d=true; //true
var d=false; //false
var d=null; //null
var d={i:1}; //[object Object]
console.log(String(d));
-
- 其他转换方式
- 进制转换
e.toString(按照什么进制转换为字符串);
var e = 9; //1001
console.log(e.toString(2)); // 十进制数 —> 2~36 之间的任意进制数, 默认是10进制 - 日期格式
var e = new Date();
console.log(e.toString()); //Thu Dec 26 2019 20:01:49 GMT+0800 (中国标准时间) ;
console.log(e.toLocaleString()); //2019/12/26 下午8:03:09 ;转换为本地字符串;
console.log(e.toUTCString()); //Thu, 26 Dec 2019 12:03:09 GMT ; 转换为格林尼治时间字符串; - toFixed toPrecision toExponential 都是针对数值转换,不能直接操作字符串,转换后为string类型
var f = 12.34;
console.log(f.toFixed(4)); //12.3400 保留0~100之间的小数,自动四舍五入;默认为保留0位
console.log(f.toPrecision(1)); //1e+1
console.log(f.toPrecision(3)); //12.3 总共保留几位,取值1~100之间,自动四舍五入or科学计数法
console.log(f.toExponential(3)); //1.23e+1 小数点后保留几位,取值0~100之间,不会自动四舍五入,一定科学计数法
- 进制转换
>>布尔型
- 转换后的值:true 、false
- 各种类型的内容转化后的数值:
var g = “”; //false
var g = 0; //false
var g = false; //false
var g = undefined; //false
var g = null; //fasle
var g = NaN; //false
console.log(Boolean(g));
PS: “”、 0、 undefined、 null、 NaN、 false ,转换为布尔值都是false ;
除了这六种情况以外,其余转换为Boolean值包括对象,其取值都为true.
>>强转为对象类型
-
转换后的值:基本上是将数据类型和值输出
-
各种类型的内容转化后的数值:
var h = null; //{} null本来偶就是object类型的
var h = {a:1}; //{a: 1} object类型,没必要转嘛var h = “”; //String {""}
var h = -1; //Number {-1}
var h = true; //Boolean {true}
var h; //{}
console.log(Object(h));