chapter5 引用类型
1. 创建Object实例的方式:new Object();对象字面量。
2. 访问对象属性的方法:点表示法;方括号语法(可以通过变量访问属性)。
3. ES数组的每一项可以保存任何类型的数据,大小可以动态调整。
4. 创建数组的两种方式:new Array(); var colors = [‘red’, ‘blue’];
5. 数组的length不是只读的。
6. 在数组末尾添加新项:colors[colors.length] = ‘’;
7. Array.isArray()
8. 每个对象都具有toLocaleString()/toString()/valueOf()方法,默认以逗号分隔的字符串的形式返回数组项。toString()返回由数组中每个值的字符串形式拼接而成的一个以逗号分隔的字符串。valueOf()返回数组。toLocaleString()调用的是每一项的toLocaleString()。
9. join()
10. 如果数组中某一项是null/undefined,join()/toLocaleString()/toString()/valueOf()返回的结果中以空字符串表示。
11. 数组可以表现的跟栈一样。push()返回修改后数组的长度。pop()返回移除的项。
12. 数组的队列方法。队列在列表的末端添加项,从列表的前端移除项。
13. shift()移除数组中的第一个项并返回该项,同时将数组长度减1。unshift()在数组前端添加任意个项并返回新数组的长度。
14. unshift()/pop() shift()/push()
15. sort()方法按升序排列数组项。sort()方法比较的是字符串。调用每个数组项的toString()。
16. sort()函数接收两个参数。第一个参数位于第二个之前返回一个负数。
17. 数组操作方法:
(1) concat()基于当前数组中的所有项创建一个新数组。复制当前数组并返回副本。
(2) slice()基于当前数组中的一个或多个项创建一个数组。不会影响原始数组。
(3) splice()向数组的中部插入项。使用方式:删除/插入/替换,始终返回一个数组,包含从原始数组中删除的项。删除:colors.splice(0,1);插入:splice(2, 0, ‘red’, ‘green’)在位置2插入字符串;替换:splice(2, 1, ‘red’, ‘green’)删除当前数组位置2的项,然后从位置2开始插入字符串;
18. 位置方法。indexOf()/lastIndexOf()。使用全等操作符进行比较。
19. 迭代方法。every()/filter()/forEach()/map()/some()。都不会修改数组中包含的值。
(1)every()。如果对每一项都返回true,则返回true
(2)filter()返回该函数会返回true的项组成的数组。
(3)forEach()没有返回值
(4)map()返回每次函数调用的结果组成的数组。适合创建包含的项与另一个数组一一对应的数组。
(5)some()。如果函数对任一项返回true,则返回true。
20. 缩小方法。reduce()/reduceRight()
21. Date.parse()/Date.UTC()
22. 正则表达式的匹配模式:
(1)g:global 模式被应用于所有字符串
(2)i:case-insensitive
(3)m:multiline
23. 模式使用的元字符必须转义
24. 正则表达式定义:字面量形式;RegExp构造函数(所有元字符必须双重转义)。
25. ES3中,正则表达式字面量始终会共享同一个RegExp实例,构造函数创建新实例。
ES5明确规定,使用正则表达式字面量必须项直接调用构造函数一样,每次创建新的RegExp实例。
26. RegExp实例属性:
(1)global
(2)ignoreCase
(3)lastIndex
(4)multiline
(5)source:正则表达式的字符串表示
27. RegExp实例方法:
(1)exec()。返回Array的实例,包含两个额外的属性:index和input。index表示匹配项在字符串中的位置,input表示应用正则表达式的字符串。
(2)test()。接受一个字符串参数,在模式与参数匹配的情况下返回true。
(3)toLocaleString()/toString()。都返回正则表达式的字面量,与创建方式无关。
(4)valueOf()返回正则表达式本身。
28. Opera不支持短属性名。
29. RegExp构造函数的属性:
(1)input。返回原始字符串。$_
(2)lastMatch。返回最近一次与整个正则表达式匹配的字符串。$&
(3)lastParen。返回最近一个匹配的捕获组。$+
(4)leftContext。返回匹配之前的字符串。$`
(5)multiline。$*
(6)rightContext。返回匹配之后的字符串。$`
30. 短属性名必须通过方括号语法访问。