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