arguments对象可以与剩余参数、默认参数和解构赋值参数结合使用。
function foo(...args) {return args;
}
foo(1, 2, 3);  // [1,2,3]

在严格模式下,剩余参数、默认参数和解构赋值参数的存在不会改变 arguments对象的行为,但是在非严格模式下就有所不同了。

当非严格模式中的函数没有包含剩余参数、默认参数和解构赋值,那么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

当非严格模式中的函数有包含剩余参数、默认参数和解构赋值,那么arguments对象中的值不会跟踪参数的值(反之亦然)。相反, arguments反映了调用时提供的参数:

function func(a = 55) {arguments[0] = 99; // updating arguments[0] does not also update aconsole.log(a);
}
func(10); // 10

并且

function func(a = 55) {a = 99; // updating a does not also update arguments[0]console.log(arguments[0]);
}
func(10); // 10

并且

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

困扰我两天的题:

看来基础知识还是真的重要啊!

JS的arguments函数相关推荐

  1. js时间格式化函数,支持Unix时间戳

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  2. JS 总结之函数、作用域链

    在 JavaScript 中,函数实际上是一个对象. ? 声明 JavaScript 用 function 关键字来声明一个函数: function fn () {} 复制代码 变体:函数表达式: v ...

  3. JS OOP -02 深入认识JS中的函数

    深入认识JS中的函数: 1.概述,认识函数对象 2.函数对象和其他内部对象的关系 3.将函数作为参数传递 4.传递给函数的隐含参数:arguments 5.函数的apply,call方法和length ...

  4. c++ _int64转字符串_C语言 仿JS的eval函数 解析字符串

    C语言 利用后缀表达式解析字符串(符合c98标准,很容易移植到计算器上) 最近用98标准的C语言写了个解析字符串,类似于JavaScript中的eval函数,感觉挺实用(移植到了计算器上,可以画F(X ...

  5. [js] 实现一个函数记忆的方法

    [js] 实现一个函数记忆的方法 同步运算结果缓存,这个就老生常谈了: function useCache(func) {var cache = {};return function() {var k ...

  6. php function函数用法,js的function函数是什么?js中function的用法

    本篇文章给大家带来的内容是关于js的function函数是什么?js中function的用法,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. Function与函数 Function是 ...

  7. JS中的函数,Array对象,for-in语句,with语句,自定义对象,Prototype

    一)函数 A)JS中的函数的定义格式: function add(a,b) { var sum = a+b; document.write("两个数的和是:" + sum); // ...

  8. 自学JavaScript第二天- JS 进阶: 对象 函数

    自学JavaScript第二天- JS 进阶: 对象 函数 对象进阶 构造函数 使用类 类的继承 静态方法 函数进阶 方法 装饰器 高阶函数 map / reduce filter sort ever ...

  9. Js中匿名函数的理解

    目录 1.js中匿名函数的N种写法 最常见的用法: 2.JavaScript 匿名函数及闭包 2.1 匿名函数 2.1.1 函数的定义 2.1.2 匿名函数的创建 2.2 闭包 2.3 举例 2.4 ...

最新文章

  1. 题目 1471:【蓝桥杯】【入门题】【基础练习VIP】矩形面积交
  2. Person Re-Identification by Multi-Channel Parts-Based CNN with Improved Triplet Loss Function
  3. requireJS 从概念到实战
  4. 解读Cardinality Estimation算法(第三部分:LogLog Counting)
  5. aix pax_通过Pax考试对JBoss Fuse 6.x进行集成测试,第一部分
  6. c#打印乘法口诀_小学数学所有公式和顺口溜都在这里了!建议家长收藏打印!...
  7. linux 命名空间Namespace机制【转】
  8. 上周的工作总结和下周的学习安排
  9. IT男,程序猿在婚恋市场有多受欢迎?
  10. iOS--UIView和UIWindow用法
  11. 最全面的PLC学习网站
  12. 4K视频质量分析 白皮书
  13. 华为网吧服务器型号,网吧服务器 主机配置
  14. 发动机冒黑烟_发动机冒黑烟常见的24个原因和解决方法!
  15. python except exception_try except Exception 异常处理
  16. 二保焊接中有送丝问题,怎么解决?
  17. 智慧屏鸿蒙1.0和2.0区别,0到1的过程不容易,首发鸿蒙系统的荣耀智慧屏一文看懂有何优势...
  18. JRE和JDK的解释及区别
  19. 莱布尼兹是微积分奠基人吗?
  20. 无法将“xxx”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。

热门文章

  1. 解析「Web3悖论」的内在机理与突破路径
  2. 闻听成都华为的员工跳楼自杀
  3. c蔚语言艺术,晚唐张乔诗歌的语言艺术与美学风格-中国社会科学网.PDF
  4. securecrt连接不上vmware
  5. shell实现除法计算器
  6. 一个始乱没有终弃故事——leo看职场小说《做单》
  7. 智能消息服务-数字短信使用FAQ简介: 数字短信是基于普通短信,通过一套编码技术实现的短信服务。它能把视频、音频、网页、GIF图、文字等多种表现形式通过多媒体短信形式触达用户。本文将带你了解阿里云通信
  8. BLOB/TEXT column ‘sup_content‘ used in key specification without a key length
  9. python画八卦图的指令_如何绘制八卦图?CorelDRAW快速绘制太极八卦图形
  10. JAVA C~K的班级