Number
JavaScript不区分整数和浮点数,统一用Number表示
NaN表示Not a Number ,当无法计算结果时,用NaN表示;(NaN 跟任何Number都不相等,例NaN === NaN 结果为 false)
Infinity表示无限大,当数值超过了JavaScript的Number所能表示的最大值时,就用Infinity表示;
字符串是以单引号'或双引号"括起来的任意文本
ES6中,新增反引号`括起来的,这种情况下,支持多行文本,${}。例:
var a = "adb";
var b = "123sdf啊";
var c = `试试看${a},${b}`;
布尔值
一个布尔值只有true、false两种值,要么是true、要么是false
== 比较的时候,它会自动转换数据类型再比较;
===比较的时候,它不会自动转换类型,如果数据类型不一致,返回false,否则再比较;
js把null、undefined、0、NaN、"" 当成false,其他值一律视为true;
null和undefined
null表示“空”值,undefined表示未定义
数组
数组是一组按顺序排列的集合,集合的每个值称为元素。JavaScript的数组可以包括任意数据类型
对象
js的对象时一组由键-值组成的无序集合
可以使用in来检测是否包含属性,例
var obj = {
a:123,
b:"asd"
}
"a" in obj;// true
"c" in obj;// false
注意:in不光检测当前对象属性,还会在原型链上寻找,如果需要只检测当前对象,可以使用hasOwnProperty()
变量
变量可用来存放值或者表达式
变量名是大小写字母、数字、$和_的组合,切不能用数字开头
Map
ES6中新引入得数据类型,是一组键值对结构
常用方法:set、get、has、delete、clear
Set
跟Map类似,但是不存储值,只保留键。保存的数值不能重复
常用方法:add、delete、has、clear