美文网首页js css html
函数中的arguments

函数中的arguments

作者: LcoderQ | 来源:发表于2024-06-02 15:00 被阅读0次

    在日常编码过程中,常会涉及到函数的传参
    默认情况下,函数本身会带有arguments属性

      function myFn(...args) {
      console.log(arguments);
    }
    
    myFn(1,2,3,4,5)
    
    arguments.png

    观察打印结果可知

    • arguments属性是一个类数组的结构
    • arguments包含一个callee的属性,代表该函数(myFn)

    特别注意

    • 箭头函数是没有arguments属性的
    var myFn2 =(...args)=> {
      console.log(arguments);
    }
    myFn2(1,2,3,4,5)
    

    打印结果


    箭头函数没有arguments.png

    arguments常用

    由于arguments是一个类数组,除上面打印的属性外,没有其他数组常用的map,filter等方法,因此在使用过程中我们通常会生成一个新的数组然后进行操作,常用的方法如下:

    function myFn(...args) {
      console.log(arguments);
    //from方法从类数组复制一个新的数组
      var newArr = Array.from(arguments);
      console.log(newArr);
    //利用数组的slice方法,slice内部是用迭代的方法生成一个新的数组作为返回值
      newArr = Array.prototype.slice.call(arguments);
      console.log(newArr);
      newArr = [].slice.call(arguments);
      console.log(newArr);
    }
    
    
    myFn(1, 2, 3, 4, 5);
    
    

    打印结果

    常用方法.png

    相关文章

      网友评论

        本文标题:函数中的arguments

        本文链接:https://www.haomeiwen.com/subject/jelsqjtx.html