函数的arguments类数组对象

函数属性和arguments

◼ 我们知道JavaScript中函数也是一个对象,那么对象中就可以有属性和方法。
◼ 属性name:一个函数的名词我们可以通过name来访问;
◼ 属性length:属性length用于返回函数参数的个数;
    注意:rest参数是不参与参数的个数的;

认识arguments

◼ arguments 是一个 对应于传递给函数的参数的类数组(array-like)对象。
◼ array-like意味着它不是一个数组类型,而是一个对象类型:
    但是它却拥有数组的一些特性,比如说length,比如可以通过index索引来访问;
    但是它却没有数组的一些方法,比如filter、map等;
  // arguments 类数组对象
      console.log(arguments)
      // 可以通过索引获取内容
      console.log(arguments[0])
      console.log(arguments[1])
      // 遍历
      for (var arg of arguments) {
              console.log(arg)
      }

arguments转Array

 ◼ 在开发中,我们经常需要将arguments转成Array,以便使用数组的一些特性。
    常见的转化方式如下
    ◼ 转化方式一:
        遍历arguments,添加到一个新数组中;
    将arguments转为数组方式一:
    //     var newArguments = []
    //     for (var arg of arguments){
    //         newArguments.push(arg)
    //     }
    ◼ 转化方式二:较难理解(有点绕),了解即可
        调用数组slice函数的call方法;
    var newArgs = [].slice.apply(arguments)
        console.log(newArgs)
    ◼ 转化方式三:ES6中的两个方法
        Array.from
        […arguments]
        var newArguments = Array.from(arguments)
        console.log(newArguments)
        // 遍历之后拿到每个元素放到数组里
        var newArgs2 = [...arguments]
posted @   韩德才  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示