当前位置: 首页 > news >正文

南通wap网站建设北京网站优化公司

南通wap网站建设,北京网站优化公司,手机app网站开发,网站营销教程文章目录 前端知识点---rest(javascript)rest的用法基本语法特点使用场景与扩展运算符(spread)区别小练习 前端知识点—rest(javascript) rest出现于ES2015 function doSum(a,b, ...args) //示例中的args就是一个rest参数 //它会将后续的所有参数存储…

文章目录

  • 前端知识点---rest(javascript)
  • rest的用法
    • 基本语法
    • 特点
    • 使用场景
    • 与扩展运算符(spread)区别
    • 小练习

前端知识点—rest(javascript)

rest出现于ES2015

function doSum(a,b, ...args)
//示例中的args就是一个rest参数 
//它会将后续的所有参数存储在名为args的数组中 

在rest出现之前 还有一个东西叫arguments

但是arguments存在一些问题

  • 松散模式下的性能问题
    arguments和实参是双向绑定的 ,就是说 , 修改实参argument会发生变化 , 修改arguments 实参也会发生变化 ,arguments和实参的同步就带来了性能问题 ,严格模式下arguments和实参没有双向绑定就没有性能问题
    arguments包含了所有的参数 , 这意味着要为所有的参数计算索引 , 才能获取
  • 参数没名字
    必须是arguments加索引的方式访问所有参数
  • 箭头函数不能用
  • 不是数组

rest的用法

rest 参数用于将不定数量的参数组合成一个数组。它在函数定义中使用,方便处理函数接收的多个参数,尤其是当参数数量不确定时。

基本语法

使用三个点(…)表示 rest 参数,语法如下:

function myFunction(...args) {console.log(args); // args 是一个数组
}myFunction(1, 2, 3, 4, 5); // 输出:[1, 2, 3, 4, 5]

特点

  • 收集剩余参数:
    rest 参数将从指定位置开始的所有剩余参数收集到一个数组中。

  • 只能是最后一个参数:
    rest 参数必须是函数的最后一个参数。

function example(a, b, ...rest) {console.log(a);    // 第一个参数console.log(b);    // 第二个参数console.log(rest); // 剩余参数,作为数组
}
example(1, 2, 3, 4, 5); 
// 输出:
// 1
// 2
// [3, 4, 5]
不能混用多个 rest 参数:
一个函数中最多只能有一个 rest 参数,并且它必须在最后。

使用场景

  1. 替代 arguments 对象
    传统上可以通过 arguments 对象访问函数中的所有参数,但它不是一个真正的数组,使用起来不如 rest 参数方便。
function oldWay() {console.log(arguments); // arguments 是类数组对象
}function newWay(...args) {console.log(args); // args 是真正的数组
}oldWay(1, 2, 3); // 输出:{ '0': 1, '1': 2, '2': 3 }
newWay(1, 2, 3); // 输出:[1, 2, 3]
  1. 简化不定参数函数
    比如计算任意数量数字的总和:
function sum(...numbers) {return numbers.reduce((total, num) => total + num, 0);
}console.log(sum(1, 2, 3, 4)); // 输出:10
  1. 配合解构赋值
    在对象或数组解构时,rest 参数也非常有用:
// 数组解构
const [first, second, ...rest] = [1, 2, 3, 4, 5];
console.log(first);  // 输出:1
console.log(second); // 输出:2
console.log(rest);   // 输出:[3, 4, 5]// 对象解构
const { a, b, ...others } = { a: 1, b: 2, c: 3, d: 4 };
console.log(a);       // 输出:1
console.log(b);       // 输出:2
console.log(others);  // 输出:{ c: 3, d: 4 }

与扩展运算符(spread)区别

Rest 参数(rest):用于“收集”不定数量的参数或元素,形成一个数组。
扩展运算符(spread):用于“展开”数组或对象,将其元素作为独立值。

function display(...args) {console.log(args); // 收集参数为数组
}const nums = [1, 2, 3];
display(...nums); // 展开数组元素传入
// 输出:[1, 2, 3]

小练习

以下代码输出什么?

function display(a, b, ...rest) {console.log(a);console.log(b);console.log(rest);
}display(10, 20, 30, 40, 50);

答案:
10
20
[30, 40, 50]

http://www.ds6.com.cn/news/63425.html

相关文章:

  • 遵义网站建设制作公司网络推广怎么做
  • 做电影网站需要哪些证爱站工具包的模块
  • 网站如何快速被收录郑州网站定制
  • 重庆开县网站建设报价网站推广 方法
  • 自己怎么优化网站排名宽带营销策略
  • 网站运营与网络推广方案重庆百度推广排名
  • 聊城b2b网站建seo是什么的简称
  • magento网站建设百度智能云官网
  • 建网站一条龙google国外入口
  • 大连建设工程设计院有限公司网站怎样进行seo推广
  • 宁波网站制作公司百度词条优化
  • 做网站用的军事图片网站优化排名公司哪家好
  • asp.net 做网站实例建站系统
  • 房地产楼盘微信网站建设营销方案免费代码网站
  • 用自己的电脑建设网站百度电脑版官网下载
  • 1688批发平台北京网络推广优化公司
  • 帝国和织梦哪个做网站好黑马培训价目表
  • 做模板网站的利与弊百度指数行业排行
  • 做矢量图的网站seo项目培训
  • 徐州市经济技术开发区建设局网站长尾关键词爱站
  • 驾校做网站天津seo推广服务
  • mac机怎么使用wordpress合肥优化排名推广
  • 做全景的网站软文编辑器
  • 设计工作室网站推荐西安网络推广公司
  • 郑州营销网站建设设计友情链接价格
  • 网站开发的选题依据推广平台排名前十名
  • 空间网页版整站seo排名外包
  • 做外汇门户网站百中搜优化软件靠谱吗
  • 自建站 外贸自己在家怎么做电商
  • 沈阳企业模板建站朝阳区seo