javascript函式過載的實現

antzone發表於2017-03-23

在javascript中,並沒有函式過載這個概念,但是我們可以模擬實現函式的過載效果。

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
function addNum(){ 
  if(arguments.length==1){ 
    return arguments[0]+10; 
  }
  else if(arguments.length==2){ 
    return arguments[0]+arguments[1]; 
  }
  else{ 
    return "引數錯誤,請核對"; 
  } 
} 
console.log(addNum(10,20,30));

從以上程式碼可以看出,我們可以利用arguments屬性可以實現函式的過載效果,函式定義的時候規定的形參,在傳遞實參的時候並沒有必要去遵守,js會將傳遞的真實的引數封裝成arguments物件,可以通過arguments的length屬性值就是實參的個數,所以可以根據傳遞實參的個數來模擬實現函式的過載效果。

相關文章