javascript模擬實現函式過載
函式過載功能需要模擬實現,因為本身並不具備,首先看一段程式碼例項:
[JavaScript] 純文字檢視 複製程式碼function func(){console.log("螞蟻部落");} function func(num){console.log(num)} func(); func(2);
第一個列印undefined,第二個列印2,說明第一個函式被第二個覆蓋,沒有實現過載功能。
下面就來介紹一下如何模式實現過載效果。arguments可以返回一個物件,它存放的是傳入函式的實參,通過索引可以訪問每一個實參,例如arguments[0]就是傳入的第一個實參。
特別注意:函式的形式引數正如其名,只是一個形式而已,例如只定義一個形參,但你完全可以傳入任意多個實參。
於是就可以利用js函式的這個特點,進行一下判斷,模擬實現過載:
[JavaScript] 純文字檢視 複製程式碼function func(){ if(arguments.length==0){ console.log("螞蟻部落"); }else if(arguments.length==1){ console.log(arguments[0]) } } func(); func(2);
以上就簡單模擬實現了函式的過載效果。
相關閱讀:
(1).arguments屬性可以參閱javascript arguments一章節。
相關文章
- javascript函式過載的實現JavaScript函式
- javascript如何實現函式過載JavaScript函式
- JavaScript函式過載JavaScript函式
- 模擬實現字串函式strlen , strcpy ,strcmp字串函式
- javascript模擬實現replaceAll()JavaScript
- PHP中實現函式過載PHP函式
- javascript模擬new的實現JavaScript
- JavaScript 模擬new的實現JavaScript
- JavaScript模擬實現replaceAll方法JavaScript
- c語言中通過函式指標實現函式過載C語言函式指標
- js模擬實現replaceAll()函式程式碼例項JS函式
- python中實現函式過載Python函式
- PHP中實現函式過載薦PHP函式
- JavaScript碎片———函式閉包(模擬物件導向)JavaScript函式物件
- JavaScript中模擬實現jsonpJavaScriptJSON
- 在 Python 中實現函式過載Python函式
- JavaScript專題之模擬實現newJavaScript
- JavaScript專題之模擬實現bindJavaScript
- JavaScript深入之new的模擬實現JavaScript
- JavaScript深入之bind的模擬實現JavaScript
- JavaScript 深入之new的模擬實現JavaScript
- JavaScript 深入之bind的模擬實現JavaScript
- 如何在Python中實現函式過載Python函式
- 為什麼 Python 沒有函式過載?如何用裝飾器實現函式過載?Python函式
- javascript之模擬call以及apply實現JavaScriptAPP
- python3中實現函式的過載Python函式
- 虛擬函式的實現原理函式
- 虛擬函式實現原理(轉)函式
- Javascript實現運算子過載JavaScript
- c語言與字串相關的庫函式的模擬實現C語言字串函式
- 模擬實現不受限制的字串函式--C語言版字串函式C語言
- JavaScript的迭代函式與迭代函式的實現JavaScript函式
- javascript模擬實現ArrayList效果程式碼例項JavaScript
- javascript模擬實現trim()方法例項程式碼JavaScript
- javascript模擬實現toAarray()方法程式碼例項JavaScript
- JavaScript中的函式過載(Function overloading)JavaScript函式Function
- Vue響應式原理與模擬實現Vue
- HttpServletRequestWrapper模擬實現分散式SessionHTTPServletAPP分散式Session