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. keras构建前馈神经网络(feedforward neural network)进行分类模型构建并加入L2正则化
  2. 【学术相关】考研生对导师“嚣张发言”引热议:希望您今年招个女同学,不然我换导师!...
  3. stm32 交换机芯片_基于STM32的全链路语音交互 - stm32/stm8 - 电子工程世界
  4. 笔记本电脑有蓝牙连接功能吗_百元蓝牙无线键盘推荐——罗技K380
  5. Session的原理,大型网站中Session方面应注意什么?
  6. mysql极客_极客mysql16
  7. jQuery----选择器
  8. vue 手写 移动端 左右滑动 防止上下滑动冲突 超过宽度一半切换
  9. use tool wget for windows download
  10. 后缀数组2.0--Height数组(bzoj 1717: [Usaco2006 Dec]Milk Patterns 产奶的模式)
  11. android右滑返回动画,Android仿微信右滑返回功能的实例代码
  12. 大数据入门介绍和学习路线
  13. oracle数据库外联,Oracle数据库-关于外联接
  14. 最简单的让IjkPlayer自动旋转带有rotation视频的方法
  15. 爱思助手 for Mac(苹果手机助手)中文版
  16. Markdown使用学习笔记(第一次,拉的很,别骂了,别骂了)
  17. 海康威视的监控软件 手机端
  18. mysql server 安装及配置_mysql server的安装和配置
  19. 超级条理清晰代码混淆(直接搬用即可)
  20. ThoughtWorks-2021上半年,请24期技术雷达正式发布!

热门文章

  1. Android 12 新版本泄露,隐私安全可媲美 iOS 系统?
  2. OrientDB恢复数据库
  3. 11 【Teleport CSS功能】
  4. 修改代码的艺术(奋斗的小鸟)_PDF 电子书
  5. 青铜三人行之删除链表的倒数第N个节点
  6. 编程统计候选人的得票数。设有3个候选人,Li,Zhang,Fun。 要求输入投票总数n,然后每次输入一个得票的候选人的名字(区分大小写),若选民输错候选人姓名,则按废票处理。 选民投票结束后程序自动显
  7. 【转】使用SpringJUnit4ClassRunner进行单元测试
  8. python编写时钟代码
  9. 维地水流动运移模型ESI.Groundwater.Vistas.Premium.v7.08.build6
  10. Git快速入门(Win版+IDEA+Gitee实战)【基于狂神讲解】