js中的形參 實參與剩餘引數的詳解

2021-09-25 02:21:09 字數 872 閱讀 6026

function sum(a,b,c,d,e) 

return parseint(sum);

}var sum = sum(1, 2, 3);

console.log(sum);

分析:js中形參個數與實參個數可以不匹配

形參個數大於實參個數的話,沒有對應實參的形參會被賦值為undefined

形參個數小於實參個數的話,額外的實參不會賦值給任何形參

上面例子中,函式呼叫的時候,實參個數為3,形參個數為5,d、e沒有被賦值,如果在不知道傳入幾個實參的時候,我想做累加,我們可以通過arguments獲取傳入實參的長度以及值,

arguments.length屬性可以獲取傳遞給函式的實際引數個數

arguments並不是陣列哦,不可以使用陣列的原型方法,arguments只是類陣列的結構。

function sum() 

return parseint(sum);

}var sum = sum(1, 2, 3);

console.log(sum);

同理,上面的例子中,呼叫函式sum的時候傳入了三個實參,但是沒有相應的實參去接收傳入的實參值,但是我們可以通過arguments找到傳入的實參,通過遍歷所有引數計算他們的和

注意:在大多數的情況下,我們可以使用剩餘引數來代替arguments引數,並且剩餘引數是真正的array例項,可以使用所有陣列的方法

function sum(...atg) 

return sum;

}var sum = sum(1, 2, 3);

console.log(sum);

有趣的實參與形參

一般方法的結構如下 修飾符 返回值型別 方法名 引數列表 方法體我們今天主要講的就是實參與形參傳遞的問題。在引數列表中的就是形式引數,簡稱形參。當方法呼叫時,形參就用被變數或者資料替換。而這些變數和資料就是實際引數,也就是實參。還有就是形參是可以選的。即可以沒有引數。如publicstaticvoi...

實參與形參的傳遞關係

當我們在主調函式中呼叫方法的時候,需要把型別匹配的實際的資料傳入到方法中。傳進去的那個資料就是實參,而在方法定義中接收引數的那個變數就是形參。下面分三種情況討論 1 傳遞基本資料型別 這種情況下,實參是把值傳遞給形參,形參在函式中改變值不會影響實參。2 傳遞實體物件 這種情況中,實參實際是把物件在堆...

c c 中的形參與實參

1 值傳遞 實參是變數,表示式等值。find int x y find z 上面的例子中,z是實參,x是形參。x變z不變。在值傳遞過程中,實參和形參位於記憶體中兩個不同位址中,實參先自己複製一次拷貝,再把拷貝複製給形參。所以,在值傳遞過程中,形參的變化不會對實參有任何的影響。2 位址傳遞 也稱引用傳...