天天看点

JavaScript中函数的length属性

JavaScript中函数的length属性

length是函数的一个属性

  1. 函数的length是js函数对象的一个属性,函数的length代表形参的个数(即有多少必传参数)
  2. 形参的数量不包括不包括剩余参数的个数,仅包括“第一个具有默认值之前的参数个数”

如:

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)
           

继续阅读