函数的length代表什么?
1 含义:
(1)函数的length是js函数对象的一个属性,函数的length代表形参的个数(即有多少必传参数)
(2)形参的数量不包括剩余参数的个数,仅包括“第一个具有默认值之前的参数个数”
2.举例
2.1 无默认值
解析:函数参数 ...args,无默认值,所以“第一个具有默认值之前的参数个数” 个数为0
2.2 无参数 无默认值
解析:函数无参数,无默认值,所以“第一个具有默认值之前的参数个数” 个数为0
2.3 有参数有默认值的情况
解析:函数参数(a,b,c),其中a=1有默认值,a为“第一个具有默认值的参数” ,a之前没有其他参数,所以“第一个具有默认值之前的参数个数” 个数为0
2.4有参数,无默认值的情况
3.arguments.length 是函数被调用时实际传参的个数
4.Function 构造器本身也是哥Function,它的length属性值为1