〇、布尔操作符及其他
1、要将某个值转换为数值,可以使用一元加操作符;要将某个值转换为字符串,可以把它与字空符("")相加;要将某个值转换为布尔值,可以同时使用两个逻辑非操作符。
2、逻辑与 &&:
3、逻辑或 ||:
使用逻辑或来避免为变量赋null或undefined值:
var myObject = preferredObject || backupObject;
一、数组Array类型
1、length属性不是只读的,可以通过设置该属性从数组的末尾移除项或向数组中添加新项。
//末尾添加新项
colors[colors.length] = "black";
2、检测数组
if (value instanceof Array) {...}
if (Array.isArray(value)) {...}
3、转换方法
join():参数传入一个分隔符。对于数组中的每一项调用toString()方法,再拼接成一个用传入参数分隔的长字符串并返回。不传入值或传入undefined的情况下则使用逗号分隔。
toString():等同于join(",")。
4、栈方法(直接在原数组上进行操作,修改原数组)
push():接收任意数量的参数,将其添加至数组末尾,返回修改后的数组长度。
pop():从数组末尾移除一项,返回移除的项。
5、队列方法(直接在原数组上进行操作,修改原数组)
shift():从数组最前端移除一项,并返回移除的项。
unshift():接收任意数量的参数,将其添加至数组前端,返回修改后的数组长度。
6、重排序方法(直接在原数组上进行操作,修改原数组)
reverse():反转数组的顺序。
sort():通过调用每一项的toString()方法并比较得到的字符串,使用升序排列原数组项。
sort可以接收一个比较函数作为参数,该函数接收两个参数,如果第一个参数应该位于第二个之前则返回一个负数,如果两个参数相等则返回0,如果第一个参数应该位于第二个之后则返回一个正数,例如需要升序排列一个数字数组使用的比较函数:
function compare(x,y) {
return x-y;
}
7、操作方法
cancat():可以接收一或多个参数,参数可以是单个值也可以是数组。该方法会复制原数组并将所有参数的每一项添加至数组末尾,最后返回新的数组。
slice():用于截取数组的一部分。接收两个参数,分别是返回数组的起始位置和结束位置;返回的数组包括起始位置项不包括结束位置项;参数可以传入负数,此时,项的位置为数组长度加上该负数;只传入一个参数的情况下,返回该参数位置到数组末尾的所有项。
splice():该方法直接在原数组上进行操作,对原数组做修改。该方法接收两个以上的参数,第一个参数是进行操作的位置,第二个参数是从该位置开始需要删除的项数,第三个及之后的参数是从该位置插入的一个或多个数组项。该方法的返回值是从原始数组中被删除的项,第二个参数为0时返回空数组。
8、位置方法
indexOf():接收一个或两个参数,第一个参数是需要查找的项,第二个参数是开始查找的位置。返回要查找的项在数组中的位置,在没有找到的情况下返回-1。查找时使用全等操作符(===)进行比较,故而该方法不能用于引用类型的数组项的查找。
lastIndexOf():使用方法和indexOf()一致,二者都返回查找到的第一个项的索引。不过indexOf()是从前往后查找,此方法是从后往前查找。
9、迭代方法
ES5中定义了五个迭代方法,每个方法都接收一个或两个参数,第一个参数是在数组每一项上运行的函数,第二个参数是该函数的作用域对象(用于改变函数中this值的含义)。传入的函数接收三个参数:数组项、数组项的索引、整个数组对象。
forEach():对数组中的每一项运行给定函数。该方法没有返回值。
map():对数组中的每一项运行给定函数,返回每次函数调用时返回的结果组成的数组。
filter():对数组中的每一项运行给定函数,返回函数调用时返回值为true的数组项组成的数组。
some():对数组中的每一项运行给定函数,如果函数对任意一项返回true,该方法返回true。
every():对数组中的每一项运行给定函数,如果函数对所有项都返回true,该方法返回true。
10、归并方法
reduce():接收一个或两个参数,第一个参数是在数组每一项上运行的函数,第二个参数是作为归并基础的初始值。传入的函数接收四个参数:该函数在前一个数组项上运行的返回值、当前数组项、当前数组项的索引、整个数组对象。该方法从第二项开始第一次运行传入的函数,第一次运行时将第一项作为函数的第一个参数。该方法返回最后一次运行传入的函数的返回值。
reduceRight():使用方法和reduce()一致,reduce()方法时从前往后遍历,reduceRight()方法是从后往前遍历。
二、Date类型
使用Date类型来分析代码工作:
var start = Date.now();
doSomething();
var stop = Date.now(),
result = stop - start;
常用方法:
https://www.w3school.com.cn/js/js_date_methods.asp
三、正则表达式RegExp类型
通配符:
https://www.w3school.com.cn/jsref/jsref_obj_regexp.asp
匹配时需要转义的元字符:
{ } [ ] ( ) . * ? + | ^ $ \