更新時(shí)間:2021-11-26 來(lái)源:黑馬程序員 瀏覽量:
在了解不定參數(shù)和rest語(yǔ)法之前我們先介紹下參數(shù)的概念。JavaScript的參數(shù)有形參(parameter)和實(shí)參(argument),形參相當(dāng)于函數(shù)中定義的變量,實(shí)參就是運(yùn)行函數(shù)調(diào)用時(shí)傳入的參數(shù)。簡(jiǎn)單的說(shuō),形參就是函數(shù)聲明時(shí)的變量,實(shí)參是我們調(diào)用該函數(shù)時(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í)參。
談到不定參數(shù),我們就必須要了解arguments對(duì)象。
arguments對(duì)象是一個(gè)類數(shù)組對(duì)象(但不是Array的實(shí)例),因此可以使用中括號(hào)語(yǔ)法訪問(wèn)其中的元素(第一個(gè)參數(shù)是 arguments[0],第二個(gè)參數(shù)是 arguments[1])。而要確定傳進(jìn)來(lái)多少個(gè)參數(shù),可以訪問(wèn)arguments.length屬性。
arguments對(duì)象是函數(shù)中默認(rèn)就有的對(duì)象,它可以接收到多個(gè)不定數(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ù)時(shí)可以使用 ...rest 表示,rest是一個(gè)數(shù)組,數(shù)組中的數(shù)據(jù)是沒(méi)有對(duì)應(yīng)形參的數(shù)據(jù)。
猜你喜歡: