JS数据类型、类型转换
ECMAScript:标准、核心
- JS中的数据类型:
数字、字符串、布尔、函数、对象(obj、[]、{}、null)、未定义
typeof 判断数据类型 - 显式类型转换(强制类型转换):
Number()
parseInt()
parseFloat()
Number() 函数把对象的值转换为数字。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24var s = '123';
Number(s); //123
var s = '00000123';
Number(s); //123
var s = '+123';
Number(s); //123
var b = true;
Number(b); //0
var f = function(){alert(1);};
Number(f); //NaN
var json = {};
Number(json); //NaN
var arr = [];
Number(arr); //0
var arr = [1];
Number(arr); //1
var arr = ['1'];
Number(arr); //1
var arr = [1,2];
Number(arr); //NaN
var o = null;
Number(o); //0
var u;
Number(u;) //NaN
- parseInt与parseFloat的区别
1
2
3var b = '100px';
Number(b); //NaN
parseInt(b); //100
parseInt与parseFloat可用于判断是整数还是小数
- 隐式类型转换
+
运算会把数字转换为字符串
-
*
/
%
运算会把字符串转换为数字
++
--
运算会把字符串转换为数字
>
<
数字的比较、字符串的比较- `alert('10' > 9); //true` - `alert('10' > '9'); //false` - 数字的比较(比较大小)与字符串的比较(一位一位的比较)是不同的
! 取反 把右边的数据类型转换成布尔值
- isNaN应用实例
NaN === NaN //flase(除NaN外其他类型数据都等于其自身)
isNaN:判断某些值是不是数字
isNaN内部是根据Number()进行转换的 - 数据类型转换小练习
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19<script>
var arr = ['100px','abc'-6,[],-98765,34,-2,0,'300', ,function(){alert(1);},null,document,[],true,'200px'-30,'23.45元',5,Number('abc'),function(){alert(3)}];
/*
1.找到arr里所有的数字:-98765,34,-2,0,5
2.找到可以转成数字的:'100px',-98765,34,-2,0,'300',5
3.把转成数字以后,最大值判断出来:300
4.把NaN所在的位置找出来:1 14 17
*/
/*
qq号码 判断
1.有没有输入
2.输入的是不是数字
3.不能有0在前面
4.不能是小数
5.输入的数字必须在5位以上、10位以内
*/
</script>
【示例:点击查看】