JS的arguments函数
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函数相关推荐
- js时间格式化函数,支持Unix时间戳
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- JS 总结之函数、作用域链
在 JavaScript 中,函数实际上是一个对象. ? 声明 JavaScript 用 function 关键字来声明一个函数: function fn () {} 复制代码 变体:函数表达式: v ...
- JS OOP -02 深入认识JS中的函数
深入认识JS中的函数: 1.概述,认识函数对象 2.函数对象和其他内部对象的关系 3.将函数作为参数传递 4.传递给函数的隐含参数:arguments 5.函数的apply,call方法和length ...
- c++ _int64转字符串_C语言 仿JS的eval函数 解析字符串
C语言 利用后缀表达式解析字符串(符合c98标准,很容易移植到计算器上) 最近用98标准的C语言写了个解析字符串,类似于JavaScript中的eval函数,感觉挺实用(移植到了计算器上,可以画F(X ...
- [js] 实现一个函数记忆的方法
[js] 实现一个函数记忆的方法 同步运算结果缓存,这个就老生常谈了: function useCache(func) {var cache = {};return function() {var k ...
- php function函数用法,js的function函数是什么?js中function的用法
本篇文章给大家带来的内容是关于js的function函数是什么?js中function的用法,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. Function与函数 Function是 ...
- JS中的函数,Array对象,for-in语句,with语句,自定义对象,Prototype
一)函数 A)JS中的函数的定义格式: function add(a,b) { var sum = a+b; document.write("两个数的和是:" + sum); // ...
- 自学JavaScript第二天- JS 进阶: 对象 函数
自学JavaScript第二天- JS 进阶: 对象 函数 对象进阶 构造函数 使用类 类的继承 静态方法 函数进阶 方法 装饰器 高阶函数 map / reduce filter sort ever ...
- Js中匿名函数的理解
目录 1.js中匿名函数的N种写法 最常见的用法: 2.JavaScript 匿名函数及闭包 2.1 匿名函数 2.1.1 函数的定义 2.1.2 匿名函数的创建 2.2 闭包 2.3 举例 2.4 ...
最新文章
- 题目 1471:【蓝桥杯】【入门题】【基础练习VIP】矩形面积交
- Person Re-Identification by Multi-Channel Parts-Based CNN with Improved Triplet Loss Function
- requireJS 从概念到实战
- 解读Cardinality Estimation算法(第三部分:LogLog Counting)
- aix pax_通过Pax考试对JBoss Fuse 6.x进行集成测试,第一部分
- c#打印乘法口诀_小学数学所有公式和顺口溜都在这里了!建议家长收藏打印!...
- linux 命名空间Namespace机制【转】
- 上周的工作总结和下周的学习安排
- IT男,程序猿在婚恋市场有多受欢迎?
- iOS--UIView和UIWindow用法
- 最全面的PLC学习网站
- 4K视频质量分析 白皮书
- 华为网吧服务器型号,网吧服务器 主机配置
- 发动机冒黑烟_发动机冒黑烟常见的24个原因和解决方法!
- python except exception_try except Exception 异常处理
- 二保焊接中有送丝问题,怎么解决?
- 智慧屏鸿蒙1.0和2.0区别,0到1的过程不容易,首发鸿蒙系统的荣耀智慧屏一文看懂有何优势...
- JRE和JDK的解释及区别
- 莱布尼兹是微积分奠基人吗?
- 无法将“xxx”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
热门文章
- 解析「Web3悖论」的内在机理与突破路径
- 闻听成都华为的员工跳楼自杀
- c蔚语言艺术,晚唐张乔诗歌的语言艺术与美学风格-中国社会科学网.PDF
- securecrt连接不上vmware
- shell实现除法计算器
- 一个始乱没有终弃故事——leo看职场小说《做单》
- 智能消息服务-数字短信使用FAQ简介: 数字短信是基于普通短信,通过一套编码技术实现的短信服务。它能把视频、音频、网页、GIF图、文字等多种表现形式通过多媒体短信形式触达用户。本文将带你了解阿里云通信
- BLOB/TEXT column ‘sup_content‘ used in key specification without a key length
- python画八卦图的指令_如何绘制八卦图?CorelDRAW快速绘制太极八卦图形
- JAVA C~K的班级