第5章 引用类型
2018-03-23 10:09:12 0 举报
AI智能生成
js高程第五章
作者其他创作
大纲/内容
5.4 RegExp类型
5.5 Function类型
5.6 基本包装类型
5.1 Object类型
大多数引用类型都是Object类型的实例
创建Object实例的两种方式
构造函数方式
var persion = new Object();
字面量方式
var persion = {};
是向函数传递大量可选参数的首选方式
访问对象属性的两种方式
点表示法
person.name
方括号方式
person["name"]
优点:可以通过变量访问属性名
5.2 Array类型
概述
ES中数组的特点
1.每一项可以保存任何类型的数据
2.大小可以动态调整
创建方式
构造函数方式(可以省略new)
var ary1 = new Array(20);//创建length值为20的数组
var ary2 = new Array('red','yellow','green');//创建包含3个字符串值的数组
字面量方式
var colors = ['red','yellow','green']
length属性不是只读的
通过设置length,可以从数组的末尾移除项或向数组中添加新项
检测数组
instanceof
使用前提:只有一个全局执行环境
问题:如果网页中包含多个框架,实际上存在两个以上不同的全局环境==>
存在两个以上不同版本的Array构造函数
A框架中原生创建的数组与从B框架传入A框架中的数组分别具有各自不同的构造函数
解决:
1. ES5新增Array.isArray()方法(有兼容性问题)
2. return Object.prototype.toString.call(value) == '[object Array]'
转换方法
toLocalString()
调用每一项的toLocalString()方法
toString()和valueOf()
返回逗号分隔的字符串
join()
返回指定分隔符(所传参数)连接的字符串
栈方法
push()
作用:在数组末尾添加任意个项
返回值:新数组的length
pop()
作用:移除数组的最后一项
返回值:被移除的项
队列方法
unshift()
作用:在数组前端添加任意个项
返回值:新数组的length
shift()
作用:移除数组中的第一项
返回值:移除的项
重排序方法
reverse()
反转数组项的顺序
sort()
按升序排列数组项,会首先调用每个数组项(即使是数值)的toString()转型方法,然后比较得到的字符串
可以接收一个比较函数作为参数
对于数值类型或者其valueOf()方法会返回数值类型的对象类型,
可以使用一个简单的比较函数
values.sort(function compare(v1, v2){return v2-v1;})
操作方法
concat()
作用:基于当前数组中的所有项创建一个新数组
(先创建一个副本,改变的是副本)
返回值:返回的是副本
slice()
slice(n):返回位置n带数组末尾的所有项
slice(n,m):返回索引n到m(不包含m)的项,如果n>m,返回[]
如果参数是负数,则加上数组长度来确定索引值
splice()
返回删除的项,改变原数组
splice(n,m)
从索引n开始删除m项
splice(n,0,m)
在索引n开始插入m项
splice(n,x,m)
从索引n开始,删除x项,插入m项
位置方法
indexOf()
lastIndexOf()
迭代方法
every()
对数组中的每一项运行给定函数,如果都返回true,则返回true
some()
对数组中的每一项运行给定函数,如果任一项返回true,则返回true
filter()
对数组中的每一项运行给定函数,返回该函数返回true的项组成的数组
map()
对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组
forEach()
对数组中的每一项运行给定函数,没有返回值
归并方法
reduce()
从第一项开始
reduceRight()
从最后一项开始
5.3 Date类型
子主题
5.7 单体内置对象
0 条评论
下一页