「这是我参与11月更文挑战的第9天,活动详情查看:2021最后一次更文挑战」 。
一:数据类型分类:
(1)简单数据类型(值类型)
(2)复杂数据类型(引用类型)
值类型与引用类型的区别:
值类型是存储在栈里的,拷贝赋值给的是数据,如果改拷贝的数据对元素没有影响
引用类型是存储在堆里的,拷贝赋值给的是堆地址,如果改拷贝的数据对原来的数据有影响
二:简单数据类型:
1.number型
(1)定义:所有数学中的一切数字
(2)正负无穷:infinity,-infinity
(3)特殊值:
NaN:表示不是一个数字
数值类型与NaN相运算,得出的结果是NaN
2.字符串型
(1)定义:一切以引号(单引号,双引号,反引号)包起来的内容。
反引号(一般用于拼接):``
${}在反引号中用于将 { } 里的内容和 ${ } 之外的内容拼接
3.布尔型
(1)定义:表示事物的对立面
(2)值:
true--->在运算的时候相当于1
false---->在运算的时候相当于0
4.undefined(未定义型)
定义:只声明,未赋值,值就是undefined
5.Null(空)
定义:声明并且赋值了,为了方便后面给值,所以给了空值。
三:复杂数据类型:
1.数组
2.函数
3.对象
由于复杂数据类型的内容太多,我们放在后面说复杂数据类型。到时候在详细的说复杂数据类型
四:检测数据类型:
语法:typeof 数据
例如:
console.log(typeof 'afgj');
console.log(typeof 123);
记住字符串要加引号
五。数据类型转换
1.隐式转换:js引擎编译的时候自动转换。(不推荐使用)
隐式转换,数值相加,字符相链,布尔转数字(true-->1,false-->0)
2.显示转换:
(1)转string: 方法一:+
1+‘1’--->11
true+'1'--->true1
方法二:string()(最常用)
可以转undefined 和null
方法三: toString()
不可以转undefined 和null
(2)转number型
方法一:number()
方法二:+
方法三:转整数parseInt()
方法四:转小数parseFloat()
(3)转布尔型
下面的8个都转false,除了这8个,都转true
0,-0,flase,null,undefined,NaN,空字符串'',document.all
!1--->--->!true--->false !0--->--->!false--->true