arguments 是一个对应于传递给函数的参数的类数组对象。

arguments对象是所有(非箭头)函数中都可用的局部变量.

可以使用arguments对象在函数中引用函数的参数.索引从0开始.

arguments对象是一个伪数组. 除了length和索引外,不能用任何数组的方法

提供几个伪数组转真数组的方法.

var args = Array.prototype.slice.call(arguments);
var args = [].slice.call(arguments);// ES2015
const args = Array.from(arguments);
const args = [...arguments];

console.log(typeof arguments) // object

遍历参数求和

function add() {var sum =0,len = arguments.length;for(var i=0; i<len; i++){sum += arguments[i];}return sum;
}
add()                           // 0
add(1)                          // 1
add(1,2,3,4);                   // 10

剩余参数, 默认参数, 解构赋值参数

arguments对象可以于剩余参数,默认参数,解构赋值参数结合使用。

1. 函数没有包含剩余参数,默认参数,解构赋值参数,那么arguments对象中的值跟踪参数的值(反之亦然)。看下面的代码:

function func(a) {arguments[0] = 99;   // 更新了arguments[0] 同样更新了aconsole.log(a);
}
func(10); // 99

并且

function func(a) {a = 99;              // 更新了a 同样更新了arguments[0]console.log(arguments[0]);
}
func(10); // 99

2.函数包含剩余参数,默认参数,解构赋值参数,那么arguments对象中的值跟踪参数的值(反之亦然)。看下面的代码:

function func(a = 55) {arguments[0] = 99; // 更新 arguments[0] 也不会更新 aconsole.log(a);
}
func(10); // 10

并且

function func(a = 55) {a = 99;                 // 更新a也不会更新 arguments[0]console.log(arguments[0]);
}
func(10); // 10

并且

function func(a = 55) {console.log(arguments[0]);
}
func(); // undefined

Arguments 对象相关推荐

  1. JavaScript arguments对象

    1.在JavaScript中,arguments对象是比较特别的一个对象,实际上是当前函数的一个内置属性.arguments非常类似Array,但实际上又不是一个Array实例.可以通过如下代码得以证 ...

  2. JS arguments 对象

    arguments 对象 在函数代码中,使用特殊对象 arguments,开发者无需明确指出参数名,就能访问它们. 例如,在函数 sayHi() 中,第一个参数是 message.用 argument ...

  3. JavaScript教程——函数(arguments 对象)

    arguments 对象 定义 由于 JavaScript 允许函数有不定数目的参数,所以需要一种机制,可以在函数体内部读取所有参数.这就是arguments对象的由来. arguments对象包含了 ...

  4. JS入门之arguments对象

    每天一对象,JS天天见,今天我们来看看arguments对象及属性.arguments对象不能显式创建,arguments对象只有函数开始时才可用.函数的 arguments 对象并不是一个数组,访问 ...

  5. 058_JavaScript函数arguments对象

    1. 参数规则 1.1. JavaScript函数定义不会为参数(parameter)规定数据类型. 1.2. JavaScript函数不会对所传递的参数(argument)实行类型检查. 1.3. ...

  6. ECMAScript arguments 对象(摘自W3C)

    arguments 对象 在函数代码中,使用特殊对象 arguments,开发者无需明确指出参数名,就能访问它们. 例如,在函数 sayHi() 中,第一个参数是 message.用 argument ...

  7. JavaScript学习系列3 -- JavaScript arguments对象学习

    在实际项目开发中,目前还是很少使用到JavaScript 中的arguments对象,那么它到底是干什么用的呢 arguments是JavaScript中的一个类数组对象,它代表传给一个正在执行的函数 ...

  8. JavaScript中的arguments对象

    JavaScript中的arguments对象 arguments 是一个类似数组的对象, 对应于传递给函数的参数. 语法 arguments 描述 arguments对象是所有函数中可用的局部变量. ...

  9. [Effective JavaScript 笔记]第23条:永远不要修改arguments对象

    arguments对象并不是标准的Array类型的实例.arguments对象不能直接调用Array方法. arguments对象的救星call方法 使得arguments可以品尝到数组方法的美味,知 ...

  10. JavaScript学习(五十七)— arguments对象

    JavaScript学习(五十七)- arguments对象 arguments对象 该对象是函数内部的一个属性,这个属性本身也是一个对象 这个对象是用来管理函数被调用时传过来的实参的 argumen ...

最新文章

  1. 用eclipse来运行带参数的命令行程序,配置命令行程序的参数
  2. python读取大数据量xml_[C#]_[使用微软OpenXmlSDK (OpenXmlReader)读取xlsx表格] 读取大数据量100万条数据Excel文件解决方案...
  3. 高速PCB设计知识问答
  4. HashSet和HashMap的区别
  5. map、mapPartitions、mapPartitionsWithIndex区别在哪里?
  6. shopping car 3.0
  7. javascript --- [express+ vue2.x + elementUI]登陆的流程梳理
  8. php swoole 心跳,聊聊swoole的心跳
  9. [SHELL]监控LINUX目录文件变化
  10. python实现目录中制定内容查找
  11. 关于Error.captureStackTrace
  12. 如何使用TreeView控件
  13. spark 查看 job history 日志
  14. java hacker code_我陷入了Java的第一个hackerrank挑战
  15. win10设置电池养护模式
  16. arcgis制图汇总
  17. metasploit(十)漏洞攻击exploit代码编写
  18. Effective Modern C++ 完全解读笔记汇总
  19. 阿里P7晒出1月工资单:狠补了这个,真香...
  20. 手把手教你抄写URP——3——自发光材质

热门文章

  1. html中offsetleft属性,offsetleft兼容性的理解
  2. robocopy命令行管理
  3. 基于Python是疫情期间教育领域新闻知识图谱分析
  4. HDU3790 最短路径问题
  5. 【Vue】Teleport 传送门功能
  6. 鸟哥私房菜 第二部分学安文件目录与磁盘格式笔记
  7. 适用于Web开发人员的20个CSS调色板
  8. 爱用计算机的我作文,我爱电脑编程作文
  9. chef安装openstack文档
  10. 解决Github访问速度慢以及图片加载慢的问题