js大杂烩

arguments骚操作

2019-04-10  本文已影响4人  JackyLF
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)
}
上一篇下一篇

猜你喜欢

热点阅读