《JavaScript高級程序設計》總結(二)——函數的arguments

說到函數中的arguments,其實說白了就是存放傳遞到函數中參數的容器 咱們先來看看函數的參數的具體知識點數組

函數的參數

  • 形參:函數定義的參數
  • 實參:函數執行時實際傳遞的參數

形參和實參的匹配規則是從左到右匹配的,通常分兩種狀況bash

1.形參的個數大於實參,此時後面的參數應該賦值爲undefined函數

function ces(a,b,c){
              console.log(a) //1
              console.log(b) //2
              console.log(c)//undefined
          }  

          ces(1,2)
複製代碼

2.形參的個數小於實參,多於的參數能夠經過arguments訪問,哈哈arguments終於來了ui

function ces2(a){
    console.log(arguments)
}
    ces2(1,2,3)
複製代碼

能夠發現經過打印arguments能夠獲取到傳遞的全部參數spa

arguments

arguments並非一個數組哦,咱們發現arguments中除了咱們的傳遞的參數還有另外的內容,那麼他們是什麼呢?指針

callee

callee就是函數自己,咱們能夠須要調用自身時調用callee,好比求一個數的階乘code

舉個栗子cdn

function chen(x) {
            if (x <= 1) {
                return 1;
            } else {
                return x * arguments.callee(x - 1);
            };
        };

    chen(5)//120
    //具體執行5*4*3*2每次都執行自身,而callee就是執向自身的一個指針
複製代碼
相關文章
相關標籤/搜索