【ES6复习笔记】rest参数(7)

什么是 rest 参数?

rest 参数是 ES6 引入的一个特性,它允许我们将一个不定数量的参数表示为一个数组。使用 rest 参数可以更方便地处理函数的参数,尤其是在参数数量不确定的情况下。

如何使用 rest 参数?

在函数定义中,rest 参数使用 ... 表示,它必须放在参数列表的最后。例如:

function fn(a, b,...args) {console.log(a);console.log(b);console.log(args);
}

在这个例子中,ab 是函数的前两个参数,而 args 是一个数组,包含了所有剩余的参数。

为什么使用 rest 参数?

使用 rest 参数有以下几个好处:

  1. 简化参数处理:当函数需要处理多个参数时,使用 rest 参数可以避免使用 arguments 对象,使代码更加简洁。
  2. 动态参数数量rest 参数允许函数接收任意数量的参数,这在处理可变数量的输入时非常有用。
  3. 提高代码可读性:通过将参数收集到一个数组中,代码的意图更加明确,其他开发者也更容易理解。

示例代码解释

ES5 获取实参的方式

在 ES5 中,我们通常使用 arguments 对象来获取函数的所有参数。例如:

function date() {console.log(arguments);
}
date('白芷', '阿娇', '思慧');

这段代码会输出一个类数组对象,包含了传递给 date 函数的所有参数。

ES6 的 rest 参数

使用 ES6 的 rest 参数,我们可以更简洁地实现相同的功能:

function date(...args) {console.log(args); // filter some every map 
}
date('阿娇', '柏芝', '思慧');

在这个例子中,args 是一个数组,包含了传递给 date 函数的所有参数。

rest 参数必须放在最后

需要注意的是,rest 参数必须放在参数列表的最后。例如:

function fn(a, b,...args) {console.log(a);console.log(b);console.log(args);
}
fn(1, 2, 3, 4, 5, 6);

在这个例子中,ab 是函数的前两个参数,而 args 是一个数组,包含了所有剩余的参数。

总结

rest 参数是一个非常有用的特性,它可以简化函数的参数处理,提高代码的可读性和可维护性。在 ES6 及以后的版本中,推荐使用 rest 参数来处理不定数量的参数。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/496652.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Seata AT 模式两阶段过程原理解析【seata AT模式如何做到对业务的无侵入】

在分布式事务中,Seata 的 AT 模式(Automatic Transaction)是一种基于两阶段提交协议的事务模式。它通过自动生成数据快照(before image 和 after image),实现了对分布式事务的高效管理。本文将详细解析 Sea…

中关村科金外呼机器人智能沟通破解营销难题

当今,传统的营销方式在效率、成本控制、客户管理等方面逐渐显现出局限性,难以满足现代企业的需求。如何提升营销效率、降低运营成本、有效管理客户会员,成为企业的难题。中关村科金外呼机器人通过智能化沟通技术,为企业提供了一站…

旅游景点票价预测02

5.数据预处理 经过4的数据分析环节,我们得出了一些和目标特征‘price’关联度比较高的特征,现在将这些特征列进行提取 df.head(5)# 筛选对应的数据列 rs_df df[[price,comment,sight_comment_score,level,city,address]] # 判断是否有缺失值 rs_df.isnu…

“事务认证平台”:个人日常事务管理系统的诚信体系建设

3.1系统体系结构 系统的体系结构非常重要,往往决定了系统的质量和生命周期。针对不同的系统可以采用不同的系统体系结构。本系统为个人日常事务管理系统,属于开放式的平台,所以在体系结构中采用B/s。B/s结构抛弃了固定客户端要求,…

单片机与MQTT协议

MQTT 协议简述 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布 / 订阅(publish/subscribe)模式的 “轻量级” 通讯协议,该协议构建于 TCP/IP 协议上&#xf…

小程序基础 —— 07 创建小程序项目

创建小程序项目 打开微信开发者工具,左侧选择小程序,点击 号即可新建项目: 在弹出的新页面,填写项目信息(后端服务选择不使用云服务,开发模式为小程序,模板选择为不使用模板)&…

【js】记录预览pdf文件

接口调用拿到pdf的文件流,用blob处理这个文件流拿到url,使用window.open跳转新的窗口进行预览 api({dataType: blob, }).then(res >{if(res.code 0){this.previewPDF(res,application/pdf;charsetutf-8,pdf文件名)} })previewPDF (res, type, fname…

《机器学习》——利用OpenCV库中的KNN算法进行图像识别

文章目录 KNN算法介绍下载OpenCV库实验内容实验结果完整代码手写数字传入模型训练 KNN算法介绍 一、KNN算法的基本要素 K值的选择:K值代表选择与新测试样本距离最近的前K个训练样本数,通常K是不大于20的整数。K值的选择对算法结果有重要影响&#xff0c…

“拍卖认证平台”:网上拍卖系统的诚信体系建设

2.1 B/S结构介绍 在早期,一些使用HTML语言编写的文件,再集合一些其它资源文件就可以组成一个最简单的Web程序,了解了Web程序也需要了解Web站点,它们之间的关系就是一个或者多个Web程序可以放在Internet上的一个Web站点&#xff08…

【AIGC篇】AIGC 引擎:点燃创作自动化的未来之火

:羑悻的小杀马特.-CSDN博客 未来都是惊喜。你生来本应为高山。并非草芥。 引言: 在当今数字化的时代,人工智能生成内容(AIGC)正以一种前所未有的力量改变着我们的创作领域。它就像一个神秘而强大的魔法师,…

C++:单例模式

创建自己的对象,同时确保对象的唯一性。 单例类只能有一个实例☞静态成员static☞静态成员 必须类外初始化 单例类必须自己创建自己的唯一实例 单例类必须给所有其他对象提供这一实例 静态成员类内部可以访问 构造函数私有化☞构造函数私有外部不能创建&#x…

day26 文件io

函数接口 1 .open和close 文件描述符:系统为用open打开的文件分配的标识符 非负的整形数据 0-1023 最小未被使用原则 使用完时及时释放,避免文件描述符溢出 文件描述溢出就是文件使用完没有及时关闭文件 int open(const char *pathname, int flags); /…

mysql索引的理解

1、索引是什么? 索引:简单理解就是我们字典的目录,一个索引可以找得到多个记录。 作用加快我们数据库的查询速度。索引本身较大,往往存储在磁盘的文件里。可能存储在单独的索引文件中,也可能和数据一起存储在数据文件…

Leetcode打卡:查询数组中元素出现的位置

执行结果:通过 题目 3159 查询数组中元素出现的位置 给你一个整数数组 nums ,一个整数数组 queries 和一个整数 x 。 对于每个查询 queries[i] ,你需要找到 nums 中第 queries[i] 个 x 的位置,并返回它的下标。如果数组中 x 的出…

Overleaf中设置表格中的字体为Times New Roman

在Overleaf中设置表格中的字体为Times New Roman 需要有这个字体包 使用 \usepackage{times} 宏包 在文档的导言区添加 \usepackage{times} 宏包,这将把整个文档的字体设置为Times New Roman,包括表格中的字体。例如:\documentclass{article} \usepackage{times} \begin{…

如何理解 CNN 中的 RGB 图像和通道?

本文为合集收录,欢迎查看合集/专栏链接进行全部合集的系统学习。 合集完整版请参考这里。 在灰度图一节的最后,给出了一个由彩色图片转成灰度图的示例,并且通过 color_image.mode获取了图片的格式:彩色图片获取到的格式为 RGBA&a…

可灵1.6正式上线,图生视频再创新视界

大家最近有刷到过这几个视频吗? “一觉醒来,罗马斗兽场塌了”,可达鸭睡塌了罗马斗兽场! 【视频来源于网络,侵删】 “卡比兽把一碗雪倒扣在富士山上,富士山瞬间被雪覆盖” 【图片来源于网络,侵删…

微积分复习(微分方程)

1,一阶微分方程 可分离的微分方程: 可以把x和y分列等号两边,然后求积分可以解决 齐次方程和准齐次方程 要求是 :yf(y/x),也就是没有单独的x项,我们可以通过设ty/x来统一变量方便我们运算 准齐次方程就是常数项不统一,我们可以将Xxa,Yyb来消灭常数项进而转化为齐次形式…

【火猫DOTA2】VP一号位透露队伍不会保留原阵容

1、最近VP战队的一号位选手Kiritych在直播中透露,VP战队的阵容将会有新的变动,原有的阵容将不再保留。 【目前VP战队阵容名单如下】 一号位:Kiritych 二号位:squad1x 三号位:Noticed 四号位:Antares 五号位:待定 2、Spirit的战队经理Korb3n在直播时谈到了越来越多的职业选…

两分钟解决:vscode卡在设置SSH主机,VS Code-正在本地初始化VSCode服务器

问题原因 remote-ssh还是有一些bug的,在跟新之后可能会一直加载初始化SSH主机解决方案 1.打开终端2.登录链接vscode的账号,到家目录下3.找到 .vscode-server文件,删掉这个文件4.重启 vscode 就没问题了