日本国产欧美大码A视频 _国产高颜值极品在线视频_色偷偷亚洲第一综合网_国产精品一二三社区视频_久久久青草视频

IT培訓(xùn)-高端面授IT培訓(xùn)機(jī)構(gòu)
云和教育:云和數(shù)據(jù)集團(tuán)高端IT職業(yè)教育品牌
  • 國(guó)家級(jí)
    全民數(shù)字素養(yǎng)與技能培訓(xùn)基地
  • 河南省
    第一批產(chǎn)教融合型企業(yè)建設(shè)培育單位
  • 鄭州市
    數(shù)字技能人才(碼農(nóng))培養(yǎng)評(píng)價(jià)聯(lián)盟

什么是形參和實(shí)參?在Javascript中怎么用?

  • 發(fā)布時(shí)間:
    2022-11-28
  • 版權(quá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(numl + 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。

多學(xué)一招:

函數(shù)的形參可以看做是一個(gè)變量,當(dāng)我們把一個(gè)值類(lèi)型變量作為參數(shù)傳給函數(shù)的形參時(shí),其實(shí)是把變量在??臻g里的值復(fù)制了一份給形參,那么在方法內(nèi)部對(duì)形參做任何修改,都不會(huì)影響到的外部變量。

function fn(a) {
    a++;
    console.log(a); 
}
var x = 10;
fn(x);
console.log(x);

當(dāng)我們把引用類(lèi)型變量傳給形參時(shí),其實(shí)是把變量在??臻g里保存的堆地址復(fù)制給了形參,形參和實(shí)參其實(shí)保存的是同一個(gè)堆地址,所以操作的是同一個(gè)對(duì)象。

function Person(name) {
    this.name = name;
}
function f1(x) { // x = p
    console.log(x.name); // 2. 這個(gè)輸出什么 ?    
    x.name = "張學(xué)友";
    console.log(x.name); // 3. 這個(gè)輸出什么 ?    
}
var p = new Person("劉德華");
console.log(p.name);    // 1. 這個(gè)輸出什么 ?   
f1(p);
console.log(p.name);    // 4. 這個(gè)輸出什么 ?