1. 程式人生 > >【前端】javascript函數

【前端】javascript函數

形參 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函數