javaScript過載
js不支援標準的過載方式,不允許多個同名函式同時存在,只有最後一個留下
過載
相同函式名,不同形參列表的多個函式,在呼叫時可根據傳入的實參值不同,自動選擇匹配的函式
功能程式碼
function payByPhone(){
consle.log(`手機支付`);
}
function payByMoney(money){
console.log(`現金支付`);
}
函式名過多,用同一個函式代替
function pay(){ ... }
function pay(money){ ... }
function pay(carId,pwd){ ... }
pay();
pay(money);
pay(carId,pwd);//js中不能用
js中不能用
為減少函式名個數,減輕呼叫者的負擔,不能寫多個同名函式,只能寫一個函式,寫幾個形參無法滿足所有情況,所以不寫形參。
藉助於函式內的一個特殊物件arguments來獲得實參值
arguments
每個函式內,一定都包含的一個,可直接使用的,專門接受所有傳入函式的實參值的類陣列物件
類陣列物件
長的像陣列的物件
根據argument中獲得實參值個數或實參值的內容/型別不同,來判斷,選這不同的執行過程
JS變通實現過載
function pay(){
if(arguyments.length==0){
console.log(`手機支付`);
}else if(argument.length==1){
console.log(`現金支付`);
}else{
consle.log(`刷卡支付`);
}
}
相關文章
- Javascript實現運算子過載JavaScript
- JavaScript中的函式過載(Function overloading)JavaScript函式Function
- JavaScript過濾特殊字串JavaScript字串
- 重名就會被覆蓋?那JavaScript中是如何實現過載的呢?JavaScript
- 過載的奧義之函式過載函式
- C++ 過載運算子和過載函式C++函式
- JavaScript 檔案載入方式JavaScript
- JavaScript的繼承-轉載JavaScript繼承
- C++過載的奧義之運算子過載C++
- Python 方法過載Python
- 過載運算子
- 運算子過載
- 方法過載原理
- java -方法- 過載Java
- java方法過載Java
- python-過載Python
- 方法的過載
- swoft熱過載
- Flutter 熱過載Flutter
- JavaScript設定cookie立即過期JavaScriptCookie
- Javascript的裝載和執行JavaScript
- [譯] 通過 Lighthouse 瞭解 JavaScript 效能JavaScript
- JavaScript的預編譯過程分析JavaScript編譯
- Javascript Promise學習過程總結JavaScriptPromise
- JavaScript 設定cookie 過期時間JavaScriptCookie
- JavaScript 通過class獲取元素物件JavaScript物件
- Javascript中new的執行過程JavaScript
- PHP中的過載PHP
- html載入過程HTML
- python中的過載Python
- runtime載入過程
- TypeScript 函式過載TypeScript函式
- 過載小於號
- 過載和內聯
- Java - 14 方法過載Java
- [Lang] 運算子過載
- Python 運算子過載Python
- 函式模板過載函式