形參和實參
在了解不定參數和rest語法之前我們先介紹下參數的概念。JavaScript的參數有形參(parameter)和實參(argument),形參相當於函數中定義的變量,實參就是運行函數調用時傳入的參數。簡單的說,形參就是函數聲明時的變量,實參是我們調用該函數時傳入的具體參數。
例如下面代碼:
<script>
function f(a,b){
console.log(a+b);
}
f(1,4); // 輸出 5
</script>
代碼中f(a, b)中的a和b就是形參,f(1,4)中的1和4就是實參。
不定參數
談到不定參數,我們就必須要了解arguments對象。
arguments對象是一個類數組對象(但不是Array的實例),因此可以使用中括號語法訪問其中的元素(第一個參數是 arguments[0],第二個參數是 arguments[1])。而要確定傳進來多少個參數,可以訪問arguments.length屬性。
arguments對象是函數中默認就有的對象,它可以接收到多個不定數量的參數,並且以數組的形式存在。
<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>
當不確定要傳入多少參數時可以使用 ...rest 表示,rest是一個數組,數組中的數據是沒有對應形參的數據。
猜你喜歡:
