【前端】javascript函數
阿新 • • 發佈:2018-04-16
形參 var UNC s函數 一個 lte span rip nbsp
1、關於函數參數——ES6新特性rest
rest以類似數組的方式將函數的參數保存下來
function eleDis(...rest) { for (var i=0;i<rest.length;i++) { alert(rest[i]); } } eleDis(1,2,[3,4,5]);
eleDis函數會打印出每個實參的值。
對js而言,它是允許傳入任意個參數的,即使調用的實參比形參的數量還多
2、高階函數
即可以接收一個函數作為它的參數的函數
常用的有map、reduce、filter、sort
map:我理解就是對一個數組中每個元素做操作,比如:
var str = [1,2,3]; var strNew = str.map( (x)=>{ return ++x; } ) alert(strNew)
reduce:接收兩個參數,做累計運算,比如:
var str = [1,2,3]; var strNew = str.reduce( (x,y)=>{ return x+y; } ) alert(strNew)
上面這個函數就可以完成對數組的累加
filter:過濾掉數組中你不想保留的元素,其中根據返回值時true還是false決定元素的去留,比如:
var str = [1,2,3]; var strNew = str.filter( (x)=>{ return x%2==0; } ) alert(strNew)
上面的代碼可以實現保留數組中的偶數
sort:對數組元素進行排序,比如:
var str = [71,9,0,12,106.23]; var strNew = str.sort( (x,y)=>{if (x>y) return 1; else if (x==y) return 0; else return -1; } ) alert(strNew)
其實就是根據自定義的比較規則來排序———前面元素和後面元素比較返回為-1
【前端】javascript函數