概述
引用类型的值是引用类型的一个实例,引用类型是一种数据结构,用于将数据和功能组织到一起(类似与类)。引用类型也被称为对象定义,描述一类对象所具有的属性和方法。
注意:引用类型与类看起来相似,但他们并不是相同概念
对象是某个特定引用类型的实例。新对象是使用new操作符后跟一个构造函数来创建的。
5.1object类型
创建object实例的方法:
1new操作符后跟object构造函数
2对象字面量表示法
对象字面量也是想函数传递大量可选参数的首选方法
访问对象属性的方式:
1点表示法
2方括号表示法
5.2array类型
创建数组的基本方式:
1构造函数:参数可以是数组长度也可以是值 且new标识符可以省略
2字面量表示法
5.2.1检测数组
value instanceof array 这种方式存在问题:一个页面可能有多个框架,各个框架中array可能有过修改而不一样,所以有时框架间传递的值通过这么判断会出错
Array.isArray(value)
5.2.2转换方法
继承自object 对象的方法:toString() toLocaleString() valueOf()
join()
5.2.3栈方法
模拟栈通过 push pop方法实现
5.2.4队列方法
通过shift push实现 还可以使用unshift 和pop实现反向队列
5.2.5重排序方法
reverse() sort()
sort()可以接收一个比较函数作为参数
5.2.6操作方法
concat特性:创建一个数组
slice特性:参数a,b a开始一直到b之前(含a,不含b),创建一个新数组
splice特性:a,b a开始之后,b个元素(含a,b是指多少个),可以实现删除插入和替换,且始终返回一个数组
5.2.7位置方法
indexOf() lastIndexOf() 两个参数:要查找的项和查找起点位置的索引
5.2.8迭代方法
every:对数组中的每一个项运行给定函数,如果该函数对每一项都返回true,则返回true
filter:对数组中的每一个项运行给定函数,返回该函数会返回true的项组成的数组
forEach:对数组中的每一个项运行给定函数,没有返回值
map:对数组中的每一个项运行给定函数,返回每次函数调用的结果组成的数组
some:对数组中的每一个项运行给定函数,如果任一项返回true,则返回true
5.2.9归并方法
reduce reduceright 两个参数:每一项上调用的函数和作为归并寄出的初始值
每一项调用的函数的参数:当前项,下一项,项的索引,数组对象