全國(guó)咨詢(xún)/投訴熱線(xiàn):400-618-4000

首頁(yè)技術(shù)文章正文

JavaScript函數(shù)中形參和實(shí)參指的是什么?

更新時(shí)間:2023-02-01 來(lái)源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

在函數(shù)內(nèi)部的代碼中,當(dāng)某些值不能確定的時(shí)候,可以通過(guò)函數(shù)的參數(shù)從外部接收進(jìn)來(lái)個(gè)函數(shù)可以通過(guò)傳入不同的參數(shù)來(lái)完成不同的操作。

函數(shù)的參數(shù)分為形參和實(shí)參。在聲明函數(shù)時(shí),可以在函數(shù)名稱(chēng)后面的小括號(hào)中添加一些數(shù),這些參數(shù)被稱(chēng)為形參。當(dāng)函數(shù)調(diào)用的時(shí)候,同樣也需要傳遞相應(yīng)的參數(shù),這些參數(shù)稱(chēng)為實(shí)參。函數(shù)的形參是形式上的參數(shù),因?yàn)楫?dāng)函數(shù)聲明的時(shí)候,這個(gè)函數(shù)還沒(méi)有被調(diào)用,這些參數(shù)具體會(huì)傳過(guò)來(lái)什么樣的值是不確定的。而實(shí)參是實(shí)際上的參數(shù),在函數(shù)被調(diào)用的時(shí)候它的值就被確定下來(lái)了。

函數(shù)形參和實(shí)參的具體語(yǔ)法形式如下。

function 函數(shù)名(形參1, 形參2,...) { //函數(shù)聲明的小括號(hào)里的是形參
    // 函數(shù)體代碼
}
函數(shù)名(實(shí)參1, 實(shí)參2,...); //函數(shù)調(diào)用的小括號(hào)里的是實(shí)參

一個(gè)函數(shù)的參數(shù)可以有多個(gè),使用逗號(hào)分隔即可,也可以沒(méi)有參數(shù)。下面我們通過(guò)代碼演示函數(shù)參數(shù)的具體使用。

 function cook(arg) {
     console.log(arg);
 }
 cook('potato');

在上述代碼中,arg是函數(shù)的形參,它類(lèi)似于一個(gè)變量,當(dāng)函數(shù)調(diào)用的時(shí)候,它的值就是調(diào)用時(shí)傳人的值,即potato。

接下來(lái)我們?cè)傺菔救绾卫煤瘮?shù)求任意兩個(gè)數(shù)之和,具體代碼如下。

function getSum(numl, num2) {
    console.log(num1 + num2);
}
getSum(1, 3); //輸出結(jié)果:4
getSum(3, 8); //輸出結(jié)果·11

在上述代碼中,第4行代碼在調(diào)用函數(shù)時(shí)傳人了兩個(gè)實(shí)參,分別是1和3,這兩個(gè)實(shí)參對(duì)應(yīng)了函數(shù)中的形參num1和num2,然后在第2行對(duì)這兩個(gè)值進(jìn)行了相加,因此得到的輸出結(jié)果為4。同理,第5行代碼在調(diào)用函數(shù)時(shí)傳入了3和8兩個(gè)實(shí)參,因此結(jié)果為11。

函數(shù)參數(shù)的數(shù)量

JavaScript 函數(shù)參數(shù)的使用非常靈活,它允許函數(shù)的形參和實(shí)參個(gè)數(shù)不同。當(dāng)實(shí)參數(shù)量多于形參數(shù)量時(shí),函數(shù)可以正常執(zhí)行,多余的實(shí)參由于沒(méi)有形參接收,會(huì)被忽略,除非用其他方式(如后面學(xué)到的argumens)才能獲得多余的實(shí)參。當(dāng)實(shí)參數(shù)量小于形參數(shù)量時(shí),多出來(lái)的形參類(lèi)似于一個(gè)已聲明未賦值的變量,其值為 undefned。
接下來(lái)我們通過(guò)具體代碼演示函數(shù)參數(shù)的數(shù)量問(wèn)題。

function getSum(numl, num2) {
    console.log(numl, num2);
}
getSum(1, 2, 3); //實(shí)參數(shù)量大于形參數(shù)量,輸出結(jié)果:1 2
getSum(1); // 實(shí)參數(shù)量小于形參數(shù)量,輸出結(jié)果:1 undefined


分享到:
在線(xiàn)咨詢(xún) 我要報(bào)名
和我們?cè)诰€(xiàn)交談!