javascript沒有函數重載。同名不同參數的函數之間相互稱為重載,而在javascript中不能實現函數重載,因為如果有相同名稱的函數,後面的會把前面的覆蓋掉。
本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。
javascript沒有函數重載
首先描述重載的定義:同名不同參數的函數之間相互稱之為重載。
也就是在程式中有命名一樣的函數,透過參數的判斷實現相同函數的不同呼叫。
而 javascript 無法實現函數重載,因為命名一樣的函數,後面的會把前面的覆寫掉。
js定義函數是以函數名為標識,根據定義的參數順序和傳入的參數進行匹配,多餘的捨去,不夠的當成undefined處理。
但是js也有自己的方法實作重載,就是方法重載,透過判斷參數的個數,在函數內部實作方法重載。
舉個例子,函數接收一個參數的情況下,返回當前參數,如果兩個就返回兩個參數相加的和,如果是三個就返回三個函數相加的和,以此類推...
function add(){ if(arguments.length === 1){ return arguments[0] } else { var _index = arguments.length; var allnum = 0; for (var i = 0;i<_index;i++){ allnum = allnum + arguments[i]; } return allnum } return arguments.length } add(1,1,2,3,3,3,4);
【相關推薦:javascript學習教學】
以上是javascript有沒有函數重載的詳細內容。更多資訊請關注PHP中文網其他相關文章!