1、本质上是一个arguments对象,带有length属性,可以代替参数传给函数的个数
2、引用一个形式参数可以使用arguments[], arguments[0]就代表第一个参数
3、js不会主动为你判断你到底给函数传了多少个参数,如果你多传了,多余的部分就没有被使用,如果你少传了,那么没传的参数值就是undefined,所以我们可以借助arguments的length属性来检测调用函数时是否使用了正确数目的实际参数,因为javascript是不会为你做这些 事的
function f(x,y,z)
{
//首先检查传递的参数数量是否正确
if(arguments.length!=3)
{
thrownew Error("function f called with "+ arguments.length+"arguments ,but it not 3 arguments.");
}
//下面运行真正的函数
}
Number.NEGATIVE_INFINITY 这是javascript中最小的值
// 找出最大的值
function max()
{
//根据我上一篇日志,这已经是JavaScript内最小的数字了
var m = Number.NEGATIVE_INFINITY;
for(var i =0; i < arguments.length; i++)
{
//只要有任何一个参数比m大,那么m就变成了这个参数的值
if(arguments[i]> m)
m = arguments[i];
}
return m;
}
// 实现递归
let result = function (x) {
if (x<1) return 1;
return arguments.callee(x - 1)
}