js 函数 function sum(...args),function sum(args) 什么区别呢

在 JavaScript 中,function sum(...args)function sum(args) 这两种写法有重要的区别:

1. function sum(...args)

这种写法使用了 剩余参数(rest parameter)语法。...args 会将传入函数的所有参数收集到一个数组中,args 是这个数组。

  • ...args 允许函数接收任意数量的参数,并将它们作为一个数组处理。
  • 无论传入多少个参数,args 都会包含这些参数。

例子:

function sum(...args) {
  return args.reduce((total, num) => total + num, 0);
}

console.log(sum(1, 2, 3, 4)); // 输出 10
console.log(sum(10, 20));     // 输出 30
console.log(sum(5));          // 输出 5
  • 这里 args 是一个数组,可以使用数组方法(如 reduce, map, filter 等)来处理。

2. function sum(args)

这种写法定义了一个参数 args,它是一个普通的参数,函数会期望传入 一个单独的参数

  • 如果你传入多个参数,args 只会获取第一个参数。
  • 传入的参数没有自动转换成数组,args 只是一个普通的变量。

例子:

function sum(args) {
  return args.reduce((total, num) => total + num, 0);
}

console.log(sum([1, 2, 3, 4])); // 输出 10
console.log(sum([10, 20]));     // 输出 30
console.log(sum([5]));          // 输出 5
  • 这里你需要传入一个 数组 作为参数,因为 args 只是一个单一的变量。

总结:

  • ...args剩余参数,允许函数接受任意数量的参数,并把它们存储到一个数组中。
  • args 是普通的单一参数,通常是你传递给函数的一个整体值,比如一个数组,或者任何其他类型的数据。

何时使用:

  • 如果你不确定函数会收到多少个参数,应该使用 ...args
  • 如果你只需要一个参数(如一个数组或对象),则可以使用 args

希望这个解释能帮你理解这两种写法的区别!

posted @   盘思动  阅读(81)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
历史上的今天:
2022-11-05 mongodb 导出操作
2022-11-05 linux 环境 mongodump: command not found
2022-11-05 linux 安装nginx && 环境nginx 快捷启动配置
2021-11-05 vue router replace
2021-11-05 html transition 标签
2021-11-05 transform-origin
2021-11-05 CSS中的&代表的什么
点击右上角即可分享
微信分享提示