1.reduce,reduceRight:使用指定函數(shù)對(duì)數(shù)組元素進(jìn)行組合蔗崎,生成單個(gè)值酵幕。“折疊”
接受兩個(gè)參數(shù)缓苛,第一個(gè)是執(zhí)行化簡(jiǎn)操作的函數(shù)芳撒,第二個(gè)是個(gè)可選值表示傳遞給化簡(jiǎn)函數(shù)的初始值。
let arr = [1, 2, 3, 4, 5];
arr.reduce(function (x, y) {return x+y;}, 0)
// 0+1+2+3+4+5? => 15
reduceRight功能和reduce一致只是是從右往左開(kāi)始計(jì)算
arr.reduceRight(function (x,y) {return x+y}, 0)
// 0+5+4+3+2+1 => 15
2. indexOf 和 lastIndexOf搜索整個(gè)數(shù)組是否有符合指定元素
找到就返回索引值未桥,找不到就返回-1
let arr = [6, 7, 8, 9, 0];
arr.indexOf(7); //1
arr.lastIndexOf(7); // 1
indexOf從頭開(kāi)始查找笔刹;
lastIndexOf從尾開(kāi)始查找;
3. Array.isArray用來(lái)檢測(cè)未知對(duì)象是否為數(shù)組
Array.isArray({}]); // false
Array.isArray([]); // true
4. 函數(shù)有實(shí)參與形參的區(qū)別冬耿,實(shí)參是函數(shù)運(yùn)行時(shí)實(shí)際接收的參數(shù)舌菜,形參是函數(shù)定義時(shí)的參數(shù)。函數(shù)在運(yùn)行時(shí)亦镶,會(huì)根據(jù)傳入的實(shí)參返回函數(shù)調(diào)用表達(dá)式的值日月。函數(shù)在調(diào)用時(shí)除了傳入的實(shí)參還會(huì)有本次調(diào)用上下文。
如果函數(shù)加掛在某個(gè)對(duì)象上缤骨,則稱(chēng)該函數(shù)是對(duì)象的方法爱咬。這個(gè)對(duì)象就是函數(shù)運(yùn)行時(shí)的上下文對(duì)象,也就是this對(duì)象