JavaScript函數不能像傳統意義上那樣實現重載,而在其餘語言(如 Java)中,能夠爲一個函數 編寫兩個定義,只要這兩個定義的簽名(接受的參數的類型和數量)不一樣便可。如前所述,ECMAScirpt 函數沒有簽名,由於其參數是由包含零或多個值的數組來表示的。而沒有函數簽名,真正的重載是不可 能作到的。 數組
可是咱們能夠經過檢查傳入函數中參數的類型和數量並做出不一樣的反應,函數
// 經過參數個數來實現重構
function Oop(){
if(arguments.length == 1){
console.log('這是一個函數')
}else if(arguments.length == 2){
console.log('這是第二個函數')
}
}ip