NaN:不是一个数的数
类型是数字类型,但不是具体的数
当非法运算的结果出现
例如 1/0
自己不等于自己的值
1、Number()
把其他类型的数据转换成数字类型
转换:字符串
1)纯数字的字符串——数字
可以读取浮点数
2)非纯数字——NaN
3)未定义undefined——NaN
4)布尔值
true:1
false:0
5)数组
空数组[]——0
[2]——2
非数字,两个及以上——NaN
6)对象
空对象{}——0
同数组相似
2、parseInt():作用和Number相似,但作用更加强大:取整
当转换过程中遇到非数字类型的就停止
'333fff'
输出结果333
其他数值开头,转换为NaN
'ddede'
输出结果NaN
在该函数内,点会被解析成字符
3、parseFloat():可以识别小数点,但是只能识别第一个小数点
例如 :
'22.323.333'
输出结果 22.323
案例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>强制转换</title>
</head>
<body>
<!--强制转换:把其他类型的数据转换成数字类型-->
<script type="text/javascript">
var a='2';
var b='a';
var c='222sss';
var d='222.22px';
var arr=[2,2.2,'2','22.22','2222px22',null,undefined,[],['2'],[2],['dd'],{},[2,4],[3,'f']];
for(var i=0;i<arr.length;i++){
//1、Number()方法
console.log(Number(arr[i]))
//2、parseInt()方法
console.log(parseInt(arr[i]))
//3、parseFloat()方法
console.log(parseFloat(arr[i]))
}
</script>
</body>
</html>