最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js面向?qū)ο缶幊讨绾螌?shí)現(xiàn)方法重載

 更新時間:2014年07月02日 15:38:53   投稿:whsnow  
如何實(shí)現(xiàn)方法重載,涉及到三個問題:同名函數(shù)的調(diào)用、函數(shù)中特殊的參數(shù)arguments、如何利用arguments實(shí)現(xiàn)方法重載,需要的朋友可以參考下

js中如何實(shí)現(xiàn)方法重載?這涉及到三個問題

1.同名函數(shù)的調(diào)用問題

2.函數(shù)中特殊的參數(shù)arguments

3.如何利用arguments實(shí)現(xiàn)方法重載

1、同名函數(shù)的調(diào)用問題

都知道在js中如果存在多個名稱相同的函數(shù),則調(diào)用實(shí)際每次都只使用最后一個,js其實(shí)是沒有重載的,也就是說,如果定義了多個同名的函數(shù),單參數(shù)不一樣,在調(diào)用時,js不管參數(shù)個數(shù),只管前后順序

例如:

function test1(arg1) 
{ 
alert("參數(shù)1:"+arg1); 
} 
function test1(arg1,arg2,arg3) 
{ 
alert("參數(shù)1:"+arg1+"參數(shù)2:"+arg2+"參數(shù)3:"+arg3); 

} 
//測試代碼 
function test(){ 
test1("1") 
}

 雖然我們調(diào)用的是test1("1"),傳遞了一個參數(shù),但實(shí)際調(diào)用的卻是test1(arg1,arg2,arg3),并沒有因?yàn)槲覀儌鬟f了一個參數(shù),而調(diào)用只有一個參數(shù)的方法。

2、函數(shù)中特殊的參數(shù)arguments

如果我們使用如下的代碼

function test1(arg1,arg2,arg3) 
{ 
alert("參數(shù)1:"+arg1+"參數(shù)2:"+arg2+"參數(shù)3:"+arg3); 

} 
function test1(arg1) 
{ 
alert("參數(shù)1:"+arg1); 
} 
//測試代碼 
function test(){ 
test1("1","2") 
}

我們知道調(diào)用的始終是test1(arg1),也就是只有一個參數(shù)的函數(shù),但如何獲取傳遞的其他參數(shù)呢?

這就要用到函數(shù)中特殊的參數(shù)arguments,arguments包含了所有傳遞給函數(shù)的參數(shù)

function test1() 
{ 
var text=""; 
for(var i=0;i<arguments.length;i++){ 
text+="參數(shù)"+i+":"+arguments[i]; 
} 
alert(text); 
} 
//測試代碼 
function test(){ 
test1("1"); 
test1("1","2"); 
test1("1","2","3"); 
}

經(jīng)過測試發(fā)現(xiàn),arguments包含了傳遞給函數(shù)的所有參數(shù),并且arguments.length根據(jù)實(shí)際傳遞參數(shù)的個數(shù)的不同而不同,arguments.length代表了實(shí)際傳遞給函數(shù)參數(shù)的個數(shù)。

3、如何在js中實(shí)現(xiàn)函數(shù)的重載?

經(jīng)過以上的測試發(fā)現(xiàn),在js中不能直接實(shí)現(xiàn)函數(shù)的重載,但有沒有辦法實(shí)現(xiàn)類似重載效果的方法呢?

可以,主要就是利用arguments

例如:

function test1() 
{ 
var text=""; 
if(arguments.length==1) 
{ 
//調(diào)用一個參數(shù)的方法 
} 
else if(arguments.length==2) 
{ 
//調(diào)用兩個參數(shù)的方法 
} 
else { //其他的方法 
} 
}

相關(guān)文章

  • 微信小程序 slot踩坑的解決

    微信小程序 slot踩坑的解決

    這篇文章主要介紹了微信小程序 slot踩坑的解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 微信小程序模板(template)使用詳解

    微信小程序模板(template)使用詳解

    這篇文章主要為大家詳細(xì)介紹了微信小程序模板template使用的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • JavaScript Array對象詳解

    JavaScript Array對象詳解

    這篇文章主要為大家詳細(xì)介紹了JavaScript function函數(shù)種類,知識點(diǎn)很全面,包括普通函數(shù)、匿名函數(shù)、閉包函數(shù),感興趣的小伙伴們可以參考一下
    2016-03-03
  • 原生js實(shí)現(xiàn)輪播圖特效

    原生js實(shí)現(xiàn)輪播圖特效

    這篇文章主要為大家詳細(xì)介紹了原生js實(shí)現(xiàn)輪播圖特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • 小程序?qū)崿F(xiàn)左滑刪除效果

    小程序?qū)崿F(xiàn)左滑刪除效果

    這篇文章主要為大家詳細(xì)介紹了小程序?qū)崿F(xiàn)左滑刪除效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • nuxtjs通過ecosystem.config.js配置pm2的方法

    nuxtjs通過ecosystem.config.js配置pm2的方法

    ecosystem.config.js 是一個特殊的配置文件,它允許您定義應(yīng)用的各種屬性,如腳本路徑、環(huán)境變量、日志設(shè)置等,這篇文章主要介紹了nuxtjs通過ecosystem.config.js配置pm2的方法,需要的朋友可以參考下
    2024-03-03
  • 5款Javascript顏色選擇器

    5款Javascript顏色選擇器

    5款JavaScript顏色選擇器(含jQuery插件)。
    2009-10-10
  • 全面了解javascript三元運(yùn)算符

    全面了解javascript三元運(yùn)算符

    下面小編就為大家?guī)硪黄媪私鈐avascript三元運(yùn)算符。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • js history對象簡單實(shí)現(xiàn)返回和前進(jìn)

    js history對象簡單實(shí)現(xiàn)返回和前進(jìn)

    返回和前進(jìn)大家應(yīng)該不陌生吧,瀏覽器上面的返回和前進(jìn)按鈕大家瀏覽網(wǎng)頁時都會應(yīng)到的,下面就為大家介紹下js中是如何實(shí)現(xiàn)所謂的返回和前進(jìn)
    2013-10-10
  • 詳解關(guān)閉令人抓狂的ESlint 語法檢測配置方法

    詳解關(guān)閉令人抓狂的ESlint 語法檢測配置方法

    這篇文章主要介紹了詳解關(guān)閉令人抓狂的ESlint 語法檢測配置方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10

最新評論

桦川县| 当雄县| 芜湖市| 巨鹿县| 和林格尔县| 平南县| 和田县| 大安市| 莲花县| 浦江县| 繁昌县| 泸水县| 和静县| 绿春县| 民乐县| 吉首市| 于都县| 宁国市| 承德县| 喀喇沁旗| 雷波县| 如东县| 泉州市| 桑日县| 揭东县| 南宁市| 宾川县| 龙井市| 齐齐哈尔市| 木里| 平凉市| 黄石市| 高唐县| 马鞍山市| 辉县市| 皋兰县| 泸西县| 鸡东县| 鄂托克旗| 玛曲县| 扶沟县|