fn.length
是函数声明时定义的参数个数,而 arguments.length
是函数被调用时实际传递的参数个数。
例如,下面这个函数声明时定义了两个参数:
function add(num1, num2) {
return num1 + num2;
}
add.length
的值为 2。无论传递的参数个数是多少,add.length
总是等于 2。
而当调用函数 add(1, 2, 3)
时,arguments.length
的值为 3,因为实际传递了三个参数给函数 add
。