首页 > 代码库 > arguments对象

arguments对象

arguments 对象

在函数代码中,使用特殊对象 arguments,开发者无需明确指出参数名,就能访问它们。

arguments 是一个类似数组的对象, 对应于传递给函数的参数。的内置对象(object),可以用typeof查看

function sayHi() {
  if (arguments[0] == "bye") {
    return;
  }
    
    
  alert(arguments[0]);  //  弹出object  得到实参第一个值1
  alert(typeof arguments);  //  弹出object
} 
sayHi(1,2,3,4,5);

注意: console.log(typeof arguments[0]); 是得到实参第一个值的类型。

检测参数个数

还可以用 arguments 对象检测函数的参数个数,引用属性 arguments.length 即可。

模拟函数重载

在程序设计中合理地使用函数重载可以增强程序的灵活性、可读性和可扩展性。

function doAdd() {
  if(arguments.length == 1) {
    alert(arguments[0] + 5);
  } else if(arguments.length == 2) {
    alert(arguments[0] + arguments[1]);
  }
}

doAdd(10);    //输出 "15"
doAdd(40, 20);    //输出 "60"

 

callee方法,返回的是正在被执行的function对象。

function argumentTest(a,b){
    console.log(arguments.callee); //打印当前在执行的function函数
    console.log(arguments.callee.length);//打印 2,是形参
}
argumentTest(1,2,3,4,5);

 

arguments对象