国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

JS中為什么沒(méi)有函數重載

發(fā)布時(shí)間:2021-08-26 11:16 來(lái)源:億速云 閱讀:0 作者:chen 欄目: 編程語(yǔ)言 歡迎投稿:712375056

這篇文章主要介紹“JS中為什么沒(méi)有函數重載”,在日常操作中,相信很多人在JS中為什么沒(méi)有函數重載問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對大家解答”JS中為什么沒(méi)有函數重載”的疑惑有所幫助!接下來(lái),請跟著(zhù)小編一起來(lái)學(xué)習吧!

  函數重載是指在同一作用域內,可以有一組具有相同函數名,不同參數列表(參數個(gè)數、類(lèi)型、順序)的函數,這組函數被稱(chēng)為重載函數。重載函數通常用來(lái)聲明一組功能相似的函數,這樣做減少了函數名的數量,避免了名字空間的污染,對于程序的可讀性有很大的好處。

但是在JS如果不通過(guò)一些方法是無(wú)法實(shí)現重載的,可以從以下兩個(gè)角度去理解。

  方法簽名指的是函數的名稱(chēng)加形參列表,并且通過(guò)函數的名稱(chēng)或者形參列表都可以區分出是不同的函數。

  JS中通過(guò)形參是沒(méi)有辦法區分出不同的函數的,只能通過(guò)函數的名稱(chēng)區分出不同的函數。

  上述實(shí)際上是一個(gè)函數,后面的函數add會(huì )覆蓋前面的函數,究其原因還是因為JS是弱類(lèi)型的語(yǔ)言,a和b實(shí)際上都是用var聲明的,等價(jià)于

  所以在JS中只能通過(guò)函數名稱(chēng)來(lái)辨別是不是同一個(gè)函數,形參是沒(méi)有用的。

  但是在強類(lèi)型的語(yǔ)言中就是可以的,例如在c語(yǔ)言中,定義函數時(shí)形參必須要指定類(lèi)型,向里面傳值的時(shí)候也必須傳遞指定類(lèi)型的值。函數名相同,形參名不同的函數也會(huì )被認為是不同的函數。

  所以,在C語(yǔ)言這種強類(lèi)型的語(yǔ)言中是可以實(shí)現函數重載的,JS這種弱類(lèi)型的語(yǔ)言是不可以的。

函數指針

  另一中理解的角度是可以將函數名想象為指針,函數名中存放的是函數體存放的地址。

  最終add實(shí)際上指向的是第二個(gè)函數,第一個(gè)函數被覆蓋了,所以最終調用add時(shí)調用的也是第二個(gè)函數,并不能實(shí)現函數的重載。

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。

js
色综合天天综合狠狠爱| 亚洲色一色噜一噜噜噜| 天天躁狠狠躁狠狠躁夜夜躁| 亚洲 校园 春色 另类 图片| 久久亚洲AV成人无码电影| 伊人久久久大香线蕉综合直播|