- 数值(number): 整数和小数(1和1.13)
- 字符串(string):文本('hello')
- 布尔值(boolean):表示真假的两个值( true和false)
- undefined:表示"未定义/不存在",目前没定义,没有任何值
- null:空值,表示此处的值为空
- 对象(Object):由多个值合成的集合
- Symbel(ES6新增的第七种,这次不涉及。)
(数值、字符串、布尔)合称:原始类型的值。因为它们是最原始的数据类型,无法再细分。
对象称为合成类型的值。(由多个原始值合成,可以看做容器。)
undefined
和null
,一般看做两个特殊的值。
对象(Object)又有几个子类:函数(function
)和数组(array
)
number
JavaScript并不区分整数和浮点数,统一用number来表示。
110;//整数110
0.456; //浮点数0.456
1.1234e3; //科学计数法:1.1234x1000 = 1123.4
NaN; // Not a number 结果无法计算用NaN来表示
Infinity; // 表示无限大,超过JS的number所表示的最大值,用Infinity
string
字符串是用单引号(')或双引号("")括起来的文本。注意:单引号或双引号只是一种表示方式,不是字符串的一部分。
'hello' //单引号
"hello" //双引号
"What's your name " // 双引号里包含单引号
boolean
布尔值只有两种: true
和 false
。
true; //true值
false; //false值
2 > 1; //true值
2 > 3; //false值
true && true; //&&是与运算,所有都为true时,结果才是true
true && false; //&&有一个为false时,结果就为false
true || true; // ||是或运算,有一个为true,结果就是true
true || false; // ||运算为true
false || false; // ||运算为false
undefined 和 null
null
表示一个"空"的值,而undefined
表示未定义。区分两者意义不大,大多数情况下用null
。undefined
仅在判断函数参数是否传递的情况下有用。
对象
对象是一组"键值"(key-value)组成的无序集合。例如:
var people = {
name: 'Jack',
age: 18,
city: 'ShenZhen',
car: true,
zipcode: null
};
可以看出:对象的键名都是字符串类型,值可以是任意数据类型。
获取对象的属性值,有两种方法。
people.name
和people['name']
falsy值
数字0 NaN '' undefined null
数据类型转换
任意类型转字符串
String(x)

x.toSring()

x + ' '

任意类型转数字
Number(x)

parseInt(x)

parseFloat(x)

任意类型转布尔
Boolean(x)

!!x
