(1) 基本数据类型
数值类型(number) 字符串类型(string) 布尔类型(boolean) undefined null(a)数值类型(number):
在js中, 数值类型就只有一种, 都是浮点型. 但是在处理和显示的过程中, 数值类型会自动的在整型和浮点型之间进行转换.
常量: 1, 5, 9, 10.1
Infinity: 正无穷大
-Infinity: 负无穷大
NaN(not a number) 非数字 NaN和任何数值都不相等, 包括它本身. 不能通过xxx == NaN这种形式来判断一个值是否是非数字, 可以通过方法isNaN(xxx)来判断
另外, NaN和任何数值做运算结果都是NaN.
数值类型是基本数据类型,但是在js中, 也为数值类型提供了对应的包装对象 -- Number, 并提供了一些重要的属性和方法
Number提供的属性:
Number.MAX_VALUE 可表示的最大数字
Number.MIN_VALUE 可表示的最小数字
Number.NaN 非数字值
Number.POSITIVE_INFINITY 正无穷大
Number.NEGATIVE_INFINITY 负无穷大
(b)字符串类型(string)
字符串类型是基本数据类型, 但是在js中, 也为字符串类型提供了对应的包装对象 -- String, 并提供了一些重要的属性和方法
如: length属性
(c)布尔类型(boolean)
在js中, 也为布尔类型提供了对应的包装对象 -- Boolean, 并提供了一些重要的属性和方法
(d)undefined
undefined类型的值只有一个, 就是undefined. 表示变量未定义. 如果定义了一个变量, 但是没有为其初始化值, 那么该变量的值就是undefined
(e)null:
null类型的值只有一个, 就是null, 表示空值, 即该处的值现在为空.
作为函数的返回值, 表示函数返回的是一个没有任何内容的空对象.
(2) 复杂数据类型
对象(函数 数组 普通对象)
数据类型的转换:
数值类型:
转字符串, 会转成对应值的字符串
转布尔, 0(-0)和NaN会转成false, 其他会转成true
在需要时, 会自动的转成对应值的包装对象
字符串类型:
空字符串(""): 转数字为0, 转布尔为false.
非空纯数字字符串("100"): 转数字为对应的数值, 转布尔为true
非空非数字字符串("abc"): 转数字为NaN, 转布尔为true
在需要时会转成对应值的包装对象
true: 转数字为1, 转字符串为"true"
false: 转数字为0, 转字符串为"false"
在需要时会转成对应值的包装对象
undefined:
转数字为NaN, 转字符串为"undefined", 转布尔为false, 转对象会抛出异常
null:
转数字为0, 转字符串为"null", 转布尔为false, 转对象会抛出异常