JavaScript红宝书笔记五引用类型

37次阅读

共计 1564 个字符,预计需要花费 4 分钟才能阅读完成。

1. 在通过对象字面量定义对象时,实际上不会调用 Object 构造函数

var person = {
    name : "Nicholas",
    age : 29
};
相当于
var person = new Object();
person.name = "xx";
person.age = 29;

2. 因为 JavaScript 是松散类型数据,所以 Array 类型也拥有着同样的特性。JavaScript 数组的每一项可以保存任何类型的数据,且 JavaScript 数组的大小是可以动态调整的。

3. 检测数组为了解决多个框架产生的多个全局环境的问题,可以使用 Array.isArray()方法替代 instanceof,也是编程中常用的方法。

4.join()方法只接收一个参数,即用作分隔符的字符串,然后返回包含所有数组项的字符串。

var colors = ["red", "green", "blue"];
alert(colors.join(",")); //red,green,blue
alert(colors.join("||")); //red||green||blue

5. 队列方式操作数组先进先出,利用 push(),shift()方法;
队列反向操作数组后进先出,利用 unshift()从前端添加,pop()取出末端的值

6. 数组利用 sort()、reverse()方法进行排序,sort()方法可传递一个比较函数进行正反排序;
数组利用 concat()函数进行添加数组元素,构建一个新数组
数组利用 splice() 函数截取数组中的元素构建返回一个新数组;splice 可以进行删除、插入、替换操作

var colors = ["red", "green", "blue"];
var removed = colors.splice(0,1); // 删除第一项
alert(colors); // green,blue
alert(removed); // red,返回的数组中只包含一项
removed = colors.splice(1, 0, "yellow", "orange"); // 从位置 1 开始插入两项
alert(colors); // green,yellow,orange,blue
alert(removed); // 返回的是一个空数组
removed = colors.splice(1, 1, "red", "purple"); // 插入两项,删除一项
alert(colors); // green,red,purple,orange,blue
alert(removed); // yellow,返回的数组中只包含一项

7. 数组利用 indexOf()以及 lastIndexOf()进行索引,参数包括索引项和索引开始位置;

8.every():对数组中的每一项运行给定函数,如果该函数对每一项都返回 true,则返回 true。
filter():对数组中的每一项运行给定函数,返回该函数会返回 true 的项组成的数组。
forEach():对数组中的每一项运行给定函数。这个方法没有返回值。
map():对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。
some():对数组中的每一项运行给定函数,如果该函数对任一项返回 true,则返回 true

every()是每一项都需要满足,而 some()是只要有一项为 true 则都为 true。
filter()函数作为过滤函数,返回一个满足条件的新数组。
map()函数是返回对数组操作后的新数组。
forEach()是再循环体里执行某些操作。

9. 归并数组的方法:reduce()和 reduceRight();
这两个方法都会迭代数组的所有项,然后构建一个最终返回的值。传给 reduce()和 reduceRight()的函数接收 4 个参数:前一个值、当前值、项的索引和数组对象。每一次执行返回的结果都作为下一次执行函数的第一个参数。

正文完
 0