js-arguments

js-arguments

arguments

  1. arguments是函数执行时的一个对象,用开存储传进函数的参数,下标从0开始存储。arguments是对象,不是Array,但它有点类似Array,它不具备除了length之外的其他方法。
  2. callee:arguments对象的一个属性。
    1)它用来指向当前指向的函数。
function fun() {
    console.log(arguments.callee);
}
fun();//打印的是fun函数本身。

2)用来检测传进的参数和喊出形参是否相等

function fun(fun1,fun2){
    if(arguments.length===arguments.callee.length){
        console.log("参数正确");
    } else{
        console.log("参数不正确");
    }
}
fun(1,1);

3)调用匿名函数

var num = (function(n){
      if(n == 1){
        return 1;
      }
      return n*arguments.callee(n-1);//调用匿名立即执行函数的引用
    }(10));

3.func.caller:function对象的一个属性,它返回函数的引用,返回调用这个函数的对象。

function fun1(){
console.log(arguments.callee.caller);
}
function fun2(){
    fun1();
}
fun1();
fun2();
//若直接在全局环境下调用fun1 则返回null,在fun2里调用之后返回fun2

猜你喜欢

转载自www.cnblogs.com/chenyingjie1207/p/10000271.html