JavaScript重載函數(shù)實(shí)例剖析
1.javascript 中是沒有重載函數(shù)這個(gè)概念的!
首先javascript是沒有重載函數(shù)這個(gè)概念的,很久以前,我用javascript做網(wǎng)頁的時(shí)候,寫一些簡單的效果,根本不需要用到重載函數(shù),當(dāng)寫游戲的時(shí)候,有大量的函數(shù)的時(shí)候,就想用重載函數(shù)了,沒想到j(luò)avascript不支持。
我們來簡單用兩種方式來"模擬"下重載函數(shù)。
2.根據(jù)參數(shù)的個(gè)數(shù)來判斷
javascript的函數(shù)中有一個(gè)叫arguments的變量,是記錄參數(shù)的一個(gè)數(shù)組,我們可以用這個(gè)來判斷參數(shù)的個(gè)數(shù),然后分別執(zhí)行不同的內(nèi)容,就是同一個(gè)函數(shù)可以有不同效果,跟C++等強(qiáng)類型語言的重載函數(shù)還是相差很大。你可以這樣寫,參數(shù)全部注釋掉,告訴使用函數(shù)者,這個(gè)函數(shù)最多支持3個(gè)參數(shù),具體參數(shù)在函數(shù)里面再獲取。支持重載函數(shù)的注釋一定要多寫點(diǎn),這樣會(huì)清晰些,最好附上調(diào)用例子。
/**
* Return sum of a and b and less than limitNumber
* @param {Number} a
* @param {Number} b
* @param {Number} limitNumber
*/
function add(/*a, b, limitNumber*/){
var a,b,limitNumber;
a = arguments[0];
b = arguments[1];
if(arguments.length == 3){
limitNumber = arguments[2];
if(a + b > limitNumber){
return limitNumber;
}
}
return a + b;
}
3.根據(jù)參數(shù)類型不同來判斷
javascript有一個(gè)關(guān)鍵字叫typeof,可以判斷出一個(gè)變量的類型。
var temp = "say"; //string
var temp = 1; //number
var temp = undefined; //undefined
var temp = null; //object
var temp = {}; //object
var temp = []; //object
var temp = true; //boolean
var temp = function (){} //function
function testFunction(a){
if(typeof(a) == "number"){
//do something
}else if(typeof(a) == "string"){
//do something
}
}
以上內(nèi)容是小編給大家介紹的javascript重載函數(shù)的相關(guān)知識(shí),感興趣的朋友一起學(xué)習(xí)吧!
相關(guān)文章
利用js實(shí)現(xiàn)選項(xiàng)卡的特別效果的實(shí)例
利用js實(shí)現(xiàn)選項(xiàng)卡的特別效果的實(shí)例,需要的朋友可以參考一下2013-03-03
關(guān)于javascript sort()排序你可能忽略的一點(diǎn)理解
最近在研究Javascript發(fā)現(xiàn)了其中一些之前忽略的問題,所以想著總結(jié)分享出來,下面這篇文章主要給大家介紹了關(guān)于javascript sort()排序你可能忽略的一點(diǎn)理解,文中介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。2017-07-07
解決LayUI數(shù)據(jù)表格復(fù)選框不居中顯示的問題
今天小編就為大家分享一篇解決LayUI數(shù)據(jù)表格復(fù)選框不居中顯示的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-09-09
JS模擬實(shí)現(xiàn)Excel條件格式中的色階效果
這篇文章主要為大家詳細(xì)介紹了如何利用JavaScript模擬實(shí)現(xiàn)Excel條件格式中的色階效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以嘗試一下2023-05-05
JavaScript實(shí)現(xiàn)樹的遍歷算法示例【廣度優(yōu)先與深度優(yōu)先】
這篇文章主要介紹了JavaScript實(shí)現(xiàn)樹的遍歷算法,結(jié)合實(shí)例形式分析了javascript針對(duì)樹結(jié)構(gòu)的廣度優(yōu)先遍歷與深度優(yōu)先遍歷實(shí)現(xiàn)方法,需要的朋友可以參考下2017-10-10

