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,bluealert(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,bluealert(removed); // red,返回的数组中只包含一项removed = colors.splice(1, 0, "yellow", "orange"); // 从位置 1 开始插入两项alert(colors); // green,yellow,orange,bluealert(removed); // 返回的是一个空数组removed = colors.splice(1, 1, "red", "purple"); // 插入两项,删除一项alert(colors); // green,red,purple,orange,bluealert(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 个参数:前一个值、当前值、项的索引和数组对象。每一次执行返回的结果都作为下一次执行函数的第一个参数。