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 中 bind 函式的模擬實現JavaScript函式
- strlen函式的模擬實現函式
- js實現函式過載JS函式
- python中實現函式過載Python函式
- PHP中實現函式過載PHP函式
- 模擬實現字串函式strlen , strcpy ,strcmp字串函式
- 在 Python 中實現函式過載Python函式
- javascript模擬new的實現JavaScript
- JavaScript 模擬new的實現JavaScript
- JavaScript模擬實現replaceAll方法JavaScript
- JavaScript中模擬實現jsonpJavaScriptJSON
- 如何在Python中實現函式過載Python函式
- JavaScript碎片———函式閉包(模擬物件導向)JavaScript函式物件
- JavaScript中的函式過載(Function overloading)JavaScript函式Function
- 為什麼 Python 沒有函式過載?如何用裝飾器實現函式過載?Python函式
- JavaScript的迭代函式與迭代函式的實現JavaScript函式
- JavaScript專題之模擬實現bindJavaScript
- javascript之模擬call以及apply實現JavaScriptAPP
- JavaScript專題之模擬實現newJavaScript
- Javascript實現運算子過載JavaScript
- 虛擬函式的實現原理函式
- C++ 派生類函式過載與虛擬函式繼承詳解C++函式繼承
- 模擬實現不受限制的字串函式--C語言版字串函式C語言
- c語言與字串相關的庫函式的模擬實現C語言字串函式
- TypeScript 函式過載TypeScript函式
- 函式模板過載函式
- 美麗的閉包,在js中實現函式過載JS函式
- 使用條件型別實現TypeScript中的函式過載型別TypeScript函式
- JavaScript專題之模擬實現call和applyJavaScriptAPP
- JavaScript 深入之 call 和 apply 的模擬實現JavaScriptAPP
- C++ 函式過載,函式模板和函式模板過載,選擇哪一個?C++函式
- Vue響應式原理與模擬實現Vue
- Python 函式如何過載?Python函式
- 02-函式過載函式
- C++函式過載C++函式
- 過載的奧義之函式過載函式
- JavaScript模擬拋物運動的程式碼實現JavaScript
- C++ 過載運算子和過載函式C++函式
- C++之函式過載C++函式