国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

JavaScript重載函數(shù)實(shí)例剖析

2019-11-20 10:04:29
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

1.javascript 中是沒(méi)有重載函數(shù)這個(gè)概念的!

首先javascript是沒(méi)有重載函數(shù)這個(gè)概念的,很久以前,我用javascript做網(wǎng)頁(yè)的時(shí)候,寫一些簡(jiǎn)單的效果,根本不需要用到重載函數(shù),當(dāng)寫游戲的時(shí)候,有大量的函數(shù)的時(shí)候,就想用重載函數(shù)了,沒(méi)想到j(luò)avascript不支持。

我們來(lái)簡(jiǎn)單用兩種方式來(lái)"模擬"下重載函數(shù)。

2.根據(jù)參數(shù)的個(gè)數(shù)來(lái)判斷

javascript的函數(shù)中有一個(gè)叫arguments的變量,是記錄參數(shù)的一個(gè)數(shù)組,我們可以用這個(gè)來(lái)判斷參數(shù)的個(gè)數(shù),然后分別執(zhí)行不同的內(nèi)容,就是同一個(gè)函數(shù)可以有不同效果,跟C++等強(qiáng)類型語(yǔ)言的重載函數(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ù)類型不同來(lái)判斷

javascript有一個(gè)關(guān)鍵字叫typeof,可以判斷出一個(gè)變量的類型。

var temp = "say"; //stringvar temp = 1; //numbervar temp = undefined; //undefinedvar temp = null; //objectvar temp = {}; //objectvar temp = []; //objectvar temp = true; //booleanvar 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í)吧!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 集贤县| 岳池县| 旬邑县| 壶关县| 黄石市| 英吉沙县| 阳朔县| 中超| 镇沅| 邵阳市| 钟祥市| 通山县| 临泉县| 奉化市| 勐海县| 阜新市| 闵行区| 雷山县| 岳阳县| 海南省| 元谋县| 资阳市| 宣威市| 阿拉善右旗| 新丰县| 耒阳市| 台州市| 偏关县| 化隆| 万山特区| 宜丰县| 龙胜| 临湘市| 略阳县| 佳木斯市| 巴中市| 清镇市| 盐津县| 泰兴市| 墨玉县| 祥云县|