更新時間:2021年11月22日09時17分 來源:傳智教育 瀏覽次數(shù):
在了解不定參數(shù)和rest語法之前我們先介紹下參數(shù)的概念。JavaScript的參數(shù)有形參(parameter)和實參(argument),形參相當(dāng)于函數(shù)中定義的變量,實參就是運行函數(shù)調(diào)用時傳入的參數(shù)。簡單的說,形參就是函數(shù)聲明時的變量,實參是我們調(diào)用該函數(shù)時傳入的具體參數(shù)。
例如下面代碼:
<script> function f(a,b){ console.log(a+b); } f(1,4); // 輸出 5 </script>
代碼中f(a, b)中的a和b就是形參,f(1,4)中的1和4就是實參。
談到不定參數(shù),我們就必須要了解arguments對象。
arguments對象是一個類數(shù)組對象(但不是Array的實例),因此可以使用中括號語法訪問其中的元素(第一個參數(shù)是 arguments[0],第二個參數(shù)是 arguments[1])。而要確定傳進(jìn)來多少個參數(shù),可以訪問arguments.length屬性。
arguments對象是函數(shù)中默認(rèn)就有的對象,它可以接收到多個不定數(shù)量的參數(shù),并且以數(shù)組的形式存在。
<script> function f(a,f,t,...rest){ console.log(rest); } f(1,3,4,5,6); //輸出[5,6] function f(...rest){ console.log(rest); } f(1,3,4,5,6); // 輸出[1,3,4,5,6] </script>
當(dāng)不確定要傳入多少參數(shù)時可以使用 ...rest 表示,rest是一個數(shù)組,數(shù)組中的數(shù)據(jù)是沒有對應(yīng)形參的數(shù)據(jù)。
猜你喜歡