Object
创建
- new Object()
- 对象字面量 {}
访问属性
- 点表示法 o.name
- 方括号表示法 o['name']: 属性名是保留字或关键字、属性名中包含非字母非数字、属性名是一个变量时使用方括号表示法
Array
创建
- new Array(): 传入一个数值型的值时表示length,否则表示数组中每一项的值 (new 可以省略)
- 数组字面量 []
读写
- 使用下标: arr[0], arr[arr.length] = 'a'
检测
- value instanceof Array
- Array.isArray(value)
转换为字符串
- toString() / valueof(): 返回由数组中每个值的字符串形式拼接,以逗号分隔的字符串
- join('|')
栈方法
- push(): 接收任意数量的参数,添加到数组的最后,返回修改后数组的长度
- pop():没有参数,移除数组中的最后一项,返回移除的项
队列方法
- shift():没有参数,移除数组中的第一项,返回移除的项
- unshift():接收任意数量的参数,添加到数组的前端,返回修改后数组的长度
排序方法
- reverse(): 反转,修改原数组,返回排序后的数组。
- sort(): 默认按从小到大升序排列,会调用数据每一项的toString()方法,比较得到的字符串,返回排序后的数组。
sort可以接受一个函数类型的参数(比较函数),用于指定排序规则。比较函数接收两个参数,规则是:
- 第一个参数如果要位于第二个参数之前,返回负数
- 第一个参数如果等于第二个参数,返回0
- 第一个参数如果要位于第二个参数之后,返回正数
操作方法
- concat(): 接收任意数量的参数,参数可以是数组,创建一个新数组,不改变原数组
- slice(start, end): 接收1、2个参数,基于当前数组的几项创建一个新数组,不改变原数组
- splice(deleteIndex, deleteNum, ...insertValue): 改变原数组,返回删除的项
位置方法
- indexOf(value, ?startIndex): 使用全等查找,没找到返回 -1,找到返回下标
- lastIndexOf()
迭代方法
- every(fn(item, index, array))
- some()
- filter(): 返回通过检测的数组项组成的数组
- forEach():没有返回值
- map():返回每项调用之后的返回值组成的数组
归并方法
- reduce(fn(prev, cur, index, array)))
- reduceRight()
Date
获取毫秒数
- Date.parse(),接收一个表示日期的字符串,不能表示日期返回NAN
- Date.UTC(),接收年/月(0-11)/日/小时(0-23)/分钟/秒/毫秒,年月必填,日默认值为1,其他参数默认值为0。
new Date()
- new Date() 获取当前时区的日期时间对象
- new Date(m),m表示1970年1月1日到某个日期时间的毫秒数,得到这个日期时间的对象。由于这个毫秒数很难获取,所以我们也可以传入一个日期字符串,其中会先默认调用Date.parse()或者Date.UTC()转换为毫秒数。
var a = new Date()
var m = Date.parse('8/2/2020')
var b = new Date(m)
var c = new Date('8/2/2020')