函数的 length 是 函数的形参个数 形参数量是指在第一个具有默认值之前的参数个数
console.log("==============", function (...arguments) { }.length) // => ============== 0
function () { }.length // => 0
function (c) { }.length // => 1
function (a, b) { }.length // => 2
function (a, b=1, c) { }.length // => 1
function (a = 1, b, c) { }.length // => 0
arguments.length 是函数被调用时实际传参的个数
function (a , b, c) {return arguments.length }.length // => 3
function (a , b = 1, c) {return arguments.length }.length // => 1
(function (a,b,c = 3) {return arguments.length })(1,2) // => 2
(function (a = 1,b,c) {return arguments.length })(1,2,3) // => 3
(function () { })(1,2) // => undefined
function () {return arguments.length }(1,2) // => 2