1. JS中一共分成六种数据类型
a. String 字符串
b. Number 数值
c. Boolean 布尔值
d. Null 空值
e. Undefined 未定义
f. Object 对象
2. 其中基本数据类型有
a. String 字符串
i. JS中的字符串需要使用引号引起来双引号或单引号都行
ii. 在字符串中使用\作为转义字符
1) \' ==> '
2) \" ==> "
3) \n ==> 换行
4) \t ==> 制表符
5) \\ ==> \
iii. 使用typeof运算符检查字符串时,会返回"string"
b. Number 数值
i. JS中所有的整数和浮点数都是Number类型
ii. 特殊的数字
1) Infinity 正无穷
2) -Infinity 负无穷
3) NaN 非法数字(Not A Number)
iii. 其他进制的数字的表示
1) 0b 开头表示二进制,但是不是所有的浏览器都支持
2) 0 开头表示八进制
3) 0x 开头表示十六进制
iv. 使用typeof检查一个Number类型的数据时,会返回"number"
(包括NaN 和 Infinity)
c. Boolean 布尔值
i. 布尔值主要用来进行逻辑判断,布尔值只有两个
ii. true 逻辑的真
iii. false 逻辑的假
iv. 使用typeof检查一个布尔值时,会返回"boolean"
d. Null 空值
i. 空值专门用来表示为空的对象,Null类型的值只有一个
ii. null
iii. 使用typeof检查一个Null类型的值时会返回"object"
e. Undefined 未定义
i. 如果声明一个变量但是没有为变量赋值此时变量的值就是undefined
ii. 该类型的值只有一个 undefined
iii. 使用typeof检查一个Undefined类型的值时,会返回"undefined"
3. 引用数据类型
a. Object 对象
4. 类型转换
a. 类型转换就是指将其他的数据类型,转换为String Number 或 Boolean
b. 转换为String
i. 方式一(强制类型转换):
1) 调用被转换数据的toString()方法
例子:
var a = 123;
a = a.toString();
注意:这个方法不适用于null和undefined
由于这两个类型的数据中没有方法,所以调用toString()时会报错
ii. 方式二(强制类型转换):
1) 调用String()函数
例子:
var a = 123;
a = String(a);
原理:对于Number Boolean String都会调用他们的toString()方法来将其转换为字符串,
对于null值,直接转换为字符串"null"。对于undefined直接转换为字符串"undefined"
iii. 方式三(隐式的类型转换):
1) 为任意的数据类型 +""
- 例子:
var a = true;
a = a + "";
- 原理:和String()函数一样
c. 转换为Number
i. 方式一(强制类型转换):
1) 调用Number()函数
a) 例子:
var s = "123";
s = Number(s);
b) 转换的情况:
i) 字符串 --> 数字
如果字符串是一个合法的数字,则直接转换为对应的数字
如果字符串是一个非法的数字,则转换为NaN
如果是一个空串或纯空格的字符串,则转换为0
ii) 布尔值 --> 数字
true转换为1
false转换为0
iii) 空值 --> 数字
null转换为0
iv) 未定义 --> 数字
undefined 转换为NaN
ii. 方式二(强制类型转换):
1) 调用parseInt()或parseFloat()
这两个函数专门用来将一个字符串转换为数字的
a) parseInt()
可以将一个字符串中的有效的整数位提取出来,并转换为Number
例子:
var a = "123.456px";
a = parseInt(a); //123
如果需要可以在parseInt()中指定一个第二个参数,来指定进制
b) parseFloat()
可以将一个字符串中的有效的小数位提取出来,并转换为Number
例子:
var a = "123.456px";
a = parseFloat(a); //123.456
iii. 方式三(隐式的类型转换):
1) 使用一元的+来进行隐式的类型转换
例子:
var a = "123";
a = +a;
原理:和Number()函数一样
d. 转换为布尔值
i. 方式一(强制类型转换):
1) 使用Boolean()函数
例子:
var s = "false";
s = Boolean(s); //true
转换的情况
字符串 --> 布尔
- 除了空串其余全是true
数值 --> 布尔
- 除了0和NaN其余的全是true
null、undefined ---> 布尔
- 都是false
对象 ---> 布尔
- 都是true
ii. 方式二(隐式类型转换):
1) 为任意的数据类型做两次非运算,即可将其转换为布尔值
例子:
var a = "hello";
a = !!a; //true
JavaScript-数据类型(学习用)
于 2022-10-18 21:08:42 首次发布