JS模擬實(shí)現(xiàn)方法重載示例
本文實(shí)例講述了JS模擬實(shí)現(xiàn)方法重載。分享給大家供大家參考,具體如下:
在JS方法中,不能像C#方法能實(shí)現(xiàn)重載,但是我們可以通過js中的arguments來實(shí)現(xiàn)js方法的重載。
下面給出html實(shí)例:
<html>
<head>
<title>JS方法的重載</title>
<script>
function testFun1(arm1){
/// <summary>
/// JS重載測試被調(diào)用方法1
/// </summary>
/// <param name="arm1"></param>
alert(arm1);
}
function testFun2(arm1,arm2){
/// <summary>
/// JS重載測試被調(diào)用方法2
/// </summary>
/// <param name="arm1"></param>
/// <param name="arm2"></param>
alert(arm1+','+arm2);
}
function testFun3(arm1,arm2,arm3){
/// <summary>
/// JS重載測試被調(diào)用方法3
/// </summary>
/// <param name="arm1"></param>
/// <param name="arm2"></param>
/// <param name="arm3"></param>
alert(arm1+','+arm2+','+arm3);
}
function testFun4(arm1,arm2,arm3,arm4){
/// <summary>
/// JS重載測試被調(diào)用方法4
/// </summary>
/// <param name="arm1"></param>
/// <param name="arm2"></param>
/// <param name="arm3"></param>
/// <param name="arm4"></param>
alert(arm1+','+arm2+','+arm3+','+arm4);
}
function testFun(arm1,arm2,arm3,arm4){
/// <summary>
/// JS重載測試方法
/// </summary>
/// <param name="arm1"></param>
/// <param name="arm2"></param>
/// <param name="arm3"></param>
/// <param name="arm4"></param>
if(arguments.length==1){
alert('我是JS的重載方法,該方法的參數(shù)一共有'+arguments.length+'個(gè)。\n參數(shù)1:'+arguments[0]);
//這里既是執(zhí)行重載的方法
testFun1(arm1);
}
else if(arguments.length==2){
alert('我是JS的重載方法,該方法的參數(shù)一共有'+arguments.length+'個(gè)。\n參數(shù)1:'+arguments[0]+'\n參數(shù)2:'+arguments[1]);
//這里既是執(zhí)行重載的方法
testFun2(arm1,arm2);
}
else if(arguments.length==3){
alert('我是JS的重載方法,該方法的參數(shù)一共有'+arguments.length+'個(gè)。\n參數(shù)1:'+arguments[0]+'\n參數(shù)2:'+arguments[1]+'\n參數(shù)3:'+arguments[2]);
//這里既是執(zhí)行重載的方法
testFun3(arm1,arm2,arm3);
}
else if(arguments.length==4){
alert('我是JS的重載方法,該方法的參數(shù)一共有'+arguments.length+'個(gè)。\n參數(shù)1:'+arguments[0]+'\n參數(shù)2:'+arguments[1]+'\n參數(shù)3:'+arguments[2]+'\n參數(shù)4:'+arguments[3]);
//這里既是執(zhí)行重載的方法
testFun4(arm1,arm2,arm3,arm4);
}
//多個(gè)參數(shù)以此類推
}
//初始化執(zhí)行的方法
window.onload=function(){
testFun(1,2,3);
}
</script>
</head>
<body>
JS方法的重載
</body>
</html>
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《javascript面向?qū)ο笕腴T教程》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》、《JavaScript切換特效與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript動(dòng)畫特效與技巧匯總》、《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》及《JavaScript遍歷算法與技巧總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
相關(guān)文章
JS實(shí)現(xiàn)pasteHTML兼容ie,firefox,chrome的方法
這篇文章主要介紹了JS實(shí)現(xiàn)pasteHTML兼容ie,firefox,chrome的方法,涉及javascript針對(duì)頁面元素的動(dòng)態(tài)操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06
javascript強(qiáng)制彈出新窗口實(shí)現(xiàn)代碼
javascript強(qiáng)制彈出新窗口,主要是利用的動(dòng)態(tài)創(chuàng)建鏈接。2009-12-12
JavaScript 面向?qū)ο蠡A(chǔ)簡單示例
這篇文章主要介紹了JavaScript 面向?qū)ο蠡A(chǔ),結(jié)合簡單實(shí)例形式分析了JavaScript面向?qū)ο蟪绦蛟O(shè)計(jì)中類的定義、類方法與屬性相關(guān)操作技巧,需要的朋友可以參考下2019-10-10
詳解JS: reduce方法實(shí)現(xiàn) webpack多文件入口
本篇文章主要介紹了詳解JS: reduce方法實(shí)現(xiàn) webpack多文件入口,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-02-02
選擇指定數(shù)量后checkbox不可選(變灰)javascript代碼
選擇指定數(shù)量后checkbox不可選(變灰)javascript代碼2009-06-06

