- 数值(number):整数和小数(比如1和3.14)
- 字符串(string):
- 布尔值(boolean):true和false
- undefined:表示“未定义”或不存在,即由于目前没有定义,所以此处暂时没有任何值
- null:表示空值,即此处的值为空。
- 对象(object):各种值组成的集合。
- Symbol(ES6 中新引入的值):Symbol 生成一个全局唯一的值。
typeof运算符
-
typeof
运算符可以返回一个值的数据类型
null 和 undefined
都表示没有值
- (规范)如果一个变量没有被赋值,那么这个变量的值就是 undefiend
- (习俗)如果你想表示一个还没赋值的对象,就用 null。如果你想表示一个还没赋值的字符串/数字/布尔/symbol,就用 undefined(但是实际上你直接
var xxx
一下就行了,不用写var xxx = undefined
)
数值
JavaScript 内部,所有数字都是以64位浮点数形式储存,即使整数也是如此
- 整数和小数:1 1.1 .1
- 科学记数法:1.23e2
- 二进制:0b11
- 八进制:011(后来 ES5 添加了 0o11 语法)
- 十六进制:0x11
字符串
- 多行字符串:
var s = '12345' +
'67890' // 无回车符号
//或者
var s = `12345
67890` // 含回车符号
- 转义字符串
\\
,\n
......
对象
- object 就是上面几种基本类型(无序地)组合在一起
- object 里面可以有 object
var person = {
name: 'Frank',
'child': {
name: 'Jack'
}, // 最后这个逗号可有可无
}
- object 的 key 一律是字符串,不存在其他类型的 key
- object[''] 是合法的
- object['key'] 可以写作 object.key
1.读取对象的属性,有两种方法,一种是使用点运算符,还有一种是使用方括号运算符。
2.使用方括号运算符,键名必须放在引号里面,否则会被当作变量处理
- 注意 object.key 与 object[key] 不同
- delete object['key']
- 'key' in object