Für benutzerdefinierte Funktionen:
Funktionsspaß(a,b) {
console.log(a);
}
Beim Drucken des Fensterobjekts in den Entwicklungstools von Chrome habe ich festgestellt, dass es eine benutzerdefinierte Funktion fun und eine eigene Funktion getComputedStyle gibt.
Die Fun-Funktion hat zwei formale Parameter, also ist das Längenattribut 2, und getComputedStyle hat einen formalen Parameter, also ist die Länge 1.
Warum wird fun:function fun(a,b)
angezeigt, aber nicht getComputedStyle:function getComputedStyle? (Was ist mit Formalparameter 1, Formalparameter 2)?
length 是函数对象的一个属性值,指该函数有多少个必须要传入的参数,那些已定义了默认值的参数不算在内,比如function(xx = 0)的length是0。
另外在函数内部:arguments.length 是函数被调用时实际传参的个数。
这跟length没多大关系,只是显示问题,因为自有函数自带检查参数的功能,你传入的参数类型个数不对,就会报错,显示形参没多大意义,但你自定义的函数不会啊,所以会显示完整的形参类型。