JavaScript中函數的length屬性
length是函數的一個屬性
- 函數的length是js函數對象的一個屬性,函數的length代表形參的個數(即有多少必傳參數)
- 形參的數量不包括不包括剩餘參數的個數,僅包括“第一個具有預設值之前的參數個數”
如:
console.log("function(a = 1, b, c)",(function(a = 1, b, c) {}).length); // 0
- 解釋: 形參a有預設值為1,a之前并沒有參數,是以length為0
console.log("function(a , b= 1, c)",(function(a = 1, b, c) {}).length); // 1
- 解釋: 形參a有預設值為1,a之前有形參b,是以length為1
console.log("function(a , b, c)",(function(a , b, c) {}).length); // 3
- 解釋: 函數有3個必傳的形參, 是以length為3
arguments.length 是函數被調用時實際傳參的個數
function ags(a, b, c) {
console.log(arguments.length); // 3
}
ags(1,2,3)