数据类型
(1) 基本数据类型
数值类型(number) 字符串类型(string) 布尔类型(boolean) undefined null(a)数值类型(number):
在js中, 数值类型就只有一种, 都是浮点型. 但是在处理和显示的过程中, 数值类型会自动的在整型和浮点型之间进行转换.常量: 1, 5, 9, 10.1Infinity: 正无穷大-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中, 字符串也是基本数据类型. 字符串常量可以用单引号或者是双引号引起来字符串类型是基本数据类型, 但是在js中, 也为字符串类型提供了对应的包装对象 -- String, 并提供了一些重要的属性和方法
如: length属性(c)布尔类型(boolean)
在js中, 也为布尔类型提供了对应的包装对象 -- Boolean, 并提供了一些重要的属性和方法(d)undefined
undefined类型的值只有一个, 就是undefined. 表示变量未定义. 如果定义了一个变量, 但是没有为其初始化值, 那么该变量的值就是undefined(e)null:
null类型的值只有一个, 就是null, 表示空值, 即该处的值现在为空.作为函数的返回值, 表示函数返回的是一个没有任何内容的空对象.(2) 复杂数据类型
对象(函数 数组 普通对象)
数据类型的转换:
js中, 在需要时会自动的进行数据类型的转换, 转换的规则如下: 数值类型:转字符串, 会转成对应值的字符串转布尔, 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, 转对象会抛出异常