数据类型分类
- 复杂数据类型:对象类型
- 简单(基本)数据类型:number string boolean null undefined
数据类型转换分类
- 隐式转换
- 显式(强制)转换
一.其他数据类型转number类型
- 隐式转换:
1.0 . 隐式转换:只要是参与数学运算都会进行一个隐式类型转换 + - * / % 1.1. null对应number类型中的0, 1.2. NaN 是属于number类型,表示数字的一种不正常状态,也就是说本来应该进行数学运算的值没有转换成number, js中特别的安排了一个这么一个NaN的值,有了这个值程序就不报错了 1.3、NaN是属于number类型的一个值,代表数字的一种不正常状态,是非常特殊的,特殊到和任何值都不相等,即使自己也不相等,所以任何与NaN的数学运算,最最终的结果都是NaN
- 显式转换:通过Number( )、ParseInt( )、ParseFloat( )
Number( )
特点:
a.如果转换的内容可以转成数字,那么就直接返回这个内容对应的数字。
b.如果不可以转换那么返回NaN.
c.如果在内容中出现小数,那么小数会保留。
d.如果内容为空,那么转换成0;
如:
var num1 = Number(true); //true返回1 false返回0
var num2 = Number(undefined); //返回NaN
var num3 = Number("hello"); //返回NaN
var num4 = Number(" "); //如果是空字符串或是真空的字符串返回0
var num5 = Number(123); //返回123,如果是数字,简单返回
var num6 = Number("123abc"); //返回NaN
var num7 = Number("abc123"); //返回NaN
ParseInt()
特点:
a.如果转换的内容可以转成数字,那么就直接返回这个内容对应的数字。
b.如果不可以转换那么返回NaN.
c.如果带有小数,那么会去掉小数,而不是四舍五入。
d.如果第一个字符是数字,则继续解析直至字符串解析完毕或者遇到一个非数字符号为止.
例子:
var num1 = parseInt(false); //无论true或是false都是NaN
var num2 = parseInt(undefined); //NaN
var num3 = parseInt("hello"); //返回N
var num4 = parseInt(""); //如果是空字符串或是真空的字符串返回NaN
var num5 = parseInt(123); //返回123,如果是数字,简单返回
var num6 = parseInt("123a89bc"); //返回123
var num7 = parseInt("abc123"); //返回NaN
var num8 = parseInt('123.456'); //只能转换整数部分,小数部分直接舍掉
var num9 = parseInt("80.56ab");
ParseFloat()
例子:
var num1 = parseFloat(false); //无论true或是false都是NaN
var num2 = parseFloat(undefined); //NaN
var num3 = parseFloat("hello"); //返回N
var num4 = parseFloat(""); //如果是空字符串或是真空的字符串返回NaN
var num5 = parseFloat(123); //返回123,如果是数字,简单返回
var num6 = parseFloat("123a89bc"); //返回123
var num7 = parseFloat("abc123"); //返回NaN
var num8 = parseFloat('123.456'); //返回123.456
var num9 = parseFloat("80.56ab");//返回80.56
二.其他类型转换为String类型
隐式转换:当两个操作数做”+”运算时,如果表达式中任意一边有字符串,”+”,为字符串连接符
例子:
var n = 200;
n = n + "";
console.log(n);//"200"
console.log(typeof n);//string
显式(强制)转换: toString( ) 和 String()
1.toString() : 除了null undefined这两个类型不能调用 .toString() ,其他任何数据都可以调用.toString();
2.String() : 任何数据都可以调用此函数;
例子:
var a = undefined;
a = String(a);
console.log(a);//"undefined"
console.log(typeof a);//string
三.其他类型转换为Boolean类型:
其它数据类型转换为boolean类型值为false只有这几种情况:0 NaN "" null undefined false
隐式转换: 在数据类型之前加“!!”即可
例子:
var n = -200;
var b = !!n;
console.log(b);
console.log(typeof b);
显式转换:调用Boolean():
例子
console.log(Boolean(NaN));//false
console.log(Boolean(0));//false
console.log(Boolean(null));//false
console.log(Boolean(undefined));//false
console.log(Boolean("abc"));//false
**如若有错,请多多指教,谢谢广大网友**