数据类型
JavaScript 语言的每一个值,都属于某一种数据类型。JavaScript 的数据类型,共有六种。
- 数值 (number): 整数和小数(比如
1和3.14) - 字符串 (string): 文本(比如
Hello World)。 - 布尔值 (boolean): 表示真伪的两个特殊值,即
true(真) 和false(假) undefined: 表示“未定义”或不存在,即由于目前没有定义,所以此处暂时没有任何值null: 表示空值,即此处的值为空。- 对象 (object): 各种值组成的集合。
Number
JavaScript 不区分整数和浮点数,统一用 Number 表示,以下都是合法的 Number 类型:
123; // 整数 123
0.456; // 浮点数 0.456
1.2345e3; // 科学计数法表示 1.2345x1000,等同于 1234.5
-99; // 负数
NaN; // NaN 表示 Not a Number,当无法计算结果时用 NaN 表示
Infinity; // Infinity 表示无限大,当数值超过了 JavaScript 的 Number 所能表示的最大值时,就表示为 Infinity字符串
字符串 (String) 是以单引号 ' 或双引号 " 括起来的任意文本,比如 'abc',"xyz" 等等。
布尔值
布尔值 (Boolean) 和布尔代数的表示完全一致,一个布尔值只有 true、false 两种值,要么是 true,要么是 false,可以直接用 true、false 表示布尔值,也可以通过布尔运算计算出来:
true; // 这是一个 true 值
false; // 这是一个 false 值
2 > 1; // 这是一个 true 值
2 >= 3; // 这是一个 false 值下列运算符会返回布尔值:
- 前置逻辑运算符:
!(Not) - 相等运算符:
===,!==,==,!= - 比较运算符:
>,>=,<,<=
null 和 undefined
null 表示一个 “空” 的值,它和 0 以及空字符串 '' 不同,0 是一个数值,'' 表示长度为 0 的字符串,而 null 表示“空”。
在其他语言中,也有类似 JavaScript 的 null 的表示,例如 Java 也用 null,Swift 用 nil,Python 用 None 表示。但是,在 JavaScript 中,还有一个和 null 类似的 undefined,它表示 “未定义”。
JavaScript 的设计者希望用 null 表示一个空的值,而 undefined 表示值未定义。事实证明,这并没有什么卵用,区分两者的意义不大。大多数情况下,我们都应该用 null。undefined 仅仅在判断函数参数是否传递的情况下有用。
数组
数组 (Array) 是一组按顺序排列的集合,集合的每个值称为元素。JavaScript 的数组可以包括任意数据类型。例如:
[1, 2, 3.14, "Hello", null, true];上述数组包含 6 个元素。数组用 [] 表示,元素之间用 , 分隔。
对象
JavaScript 的对象 (Object) 是一组由 键-值 组成的无序集合,例如:
let person = {
name: "Mr.Hope",
isHandsome: true,
birth: 1998,
school: "No.1 Middle School",
height: 1.76,
weight: 50,
car: null,
};JavaScript 对象的键都是字符串类型,值可以是任意数据类型。上述 person 对象一共定义了 6 个键值对,其中每个键又称为对象的属性,例如,person 的 name 属性为 'Bob',zipcode 属性为 null。
要获取一个对象的属性,我们用 Object.Key 的方式:
person.name; // 'Mr.Hope'
person.zipcode; // null