目录
JS数据类型
JS中值可以分为七个类型,分别是数值(number),字符串(string),布尔值(boolean),undefined,null,对象(object)和ES6新增的symbol。其中,数值、字符串、布尔类型、undefined、null被称为基本数据类型,对象被称为复杂数据类型,即基本类型的集合,对象包括array和function。
number类型
JavaScript 浮点数由64个二进制位组成
- 第1位:符号位,0表示正数,1表示负数
- 第2位到第12位(共11位):指数部分
- 第13位到第64位(共52位):小数部分(即有效数字)
有以下四种常用进制:
- 十进制:没有前导0的数值。
- 八进制:有前缀0o或0O的数值。
- 十六进制:有前缀0x或0X的数值。
- 二进制:有前缀0b或0B的数值。
特殊数值
1.正负0,基本相同,只有是作为分母情况下,它们返回的值不同
2.NaN
是指非数字的特殊值,用于字符串解析成数字出错的场合。但是NaN
的类型为number
。并且NaN
参与运算(包括自己),得出结果都是NaN
。
3.Infinity
表示’无穷’,用在正值过大或负值过小的情况下。有正负之分,Infinity
表示正的无穷,-Infinity
表示负的无穷。
String类型
字符串就是零个或多个排在一起的字符,放在单引号或双引号之中。
定义字符串
var a = 'Hello world'
多行书写长字符串
结尾不能带空格
var longString = 'Long \
long \
long \
string';
转义字符
转义字符用来表示一些特殊字符。用反斜杠表示,如下:
\0 :null(\u0000)
\b :后退键(\u0008)
\f :换页符(\u000C)
\n :换行符(\u000A)
\r :回车键(\u000D)
\t :制表符(\u0009)
\v :垂直制表符(\u000B)
\' :单引号(\u0027)
\" :双引号(\u0022)
\\ :反斜杠(\u005C)
Boolean类型
布尔类型只有true
和false
两种状态。转换规则除了undefined、null、false、0、NaN、" "或""(空字符串)
会被转为false,其他值都视为true。
undefined&null类型
null
与undefined
都表示“没有”,分为两种类型。
区别
- 变量没有复制,则为
undefined
。 - 有一个对象
object
,现在不想赋值,则推荐使用null
。有一个非对象,没有赋值,推荐使用undefined
Object类型
object
是复杂类型,除了object
类型,其他6种类型都是简单类型。
object
是一组“键值对”(key-value)的集合,是一种无序的复合数据集合。如:
var obj = {
foo: 'Hello',
bar: 'World'
};