首页 > 其他分享 >js 函数 function sum(...args),function sum(args) 什么区别呢

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

时间:2024-11-05 09:57:31浏览次数:1  
标签: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

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

标签:function,...,sum,args,参数,数组
From: https://www.cnblogs.com/pansidong/p/18527294

相关文章

  • 【C&C++】C4996 ‘fopen‘: This function or variable may be unsafe. Consider usin
    问题描述在使用VisualStudio编译运行C/C++程序时,编译器返回警告信息。FILE*file;file=fopen("file.csv","w+");编译器返回的警告信息如下:C4996 'fopen':Thisfunctionorvariablemaybeunsafe.Considerusingfopen_sinstead.Todisabledeprecation,......
  • python openai 通过Function Call 创建自动化任务
    目录一、什么是FunctionCall(函数掉用)1. 功能概述2. 工作原理二、如何实现函数调用1、定义自己的get_weather函数2、给助手添加函数调用3、写好instrction,指导assistant去掉用你定义的方法。4、最后也是最重要的,捕获Assistant的FunctionCall三、常见问题四、......
  • 宝塔+DVWA function allow_url_include Disabled错误
    问题描述宝塔配置DVWA出现functionallow_url_include:Disabled错误解决方法查看DVWA文件夹中的php.ini。一般默认是正确的查看网站php环境的配置文件。宝塔默认路径为:/www/server/php/80/etc/php.ini注意,本人网站使用的是php80版本,所以路径中的数字是80,请根据实际......
  • js文件切片上传组件resumable.js使用
    接到一个媒体文件切片上传的需求,写demo记录下。前端<fieldset><legend>videopreview</legend><div><videoid="video-preview"controlsmutedheight="112px"width="200px"></video><inputtype="......
  • Python中的*args和**kwargs
    在Python编程中,函数的参数处理是一个非常重要的特性,它让代码更加灵活和强大。特别是在处理不确定数量的参数时,Python提供了两个非常有用的工具:*args和**kwargs。这两个特殊的参数使得函数能够接收任意数量的位置参数或关键字参数,从而极大地增加了函数的通用性和灵活性。*args用于......
  • CRC校验与ChekSum的概念与应用
    CRC(CyclicRedundancyCheck,循环冗余校验)和Checksum(校验和)是两种常用的数据完整性校验方法,主要用于检测在数据传输或存储过程中发生的错误。尽管它们的目的相似,但它们的计算方式和应用场景有所不同。1.CRC(循环冗余校验)概念CRC是一种基于二进制除法的错误检测码。它将数据......
  • linux 命令值xargs与tr
    提出问题:为什么有了管道符|,还需要xagrs管道符 | 允许将一个命令的输出作为另一个命令的输入。然而,管道符在处理某些类型的输入时存在局限性,特别是当需要将一系列输入项作为单个命令的多个参数时()。xargs 的出现正是为了解决这个问题。xargs 能够从标准输入(stdin)读取数据,......
  • Laravel报错Call to undefined function Termwind\ValueObjects\mb_strimwidth()解
    Laravel报错CalltoundefinedfunctionTermwind\ValueObjects\mb_strimwidth()通常是因为php的mbstring扩展没有打开解决办法:搜索extension=mbstring去掉前面的;注释符即可,需要注意的是,Laravel开发环境通常是通过phpartisanserve命令运行在命令行中的,所以应该修改php环境......
  • SAP-ABAP开发学习-FUNCTION ALV
    ALV概览        ALV全称SAPListView,是SAP提供的一个强大的数据报表显示工具。ALV实质上是一个屏幕控件对象,它通过程序传递数据内表的方式来显示数据。实现方式:调用标准函数;优化接口:用户可以实现对字段的排序、筛选及统计等功能。显示方式:List类似于write语句输......
  • 立即执行函数表达式(Immediately Invoked Function Expression, IIFE)的学习
    一、立即执行函数表达式(ImmediatelyInvokedFunctionExpression,IIFE)。这种模式在JavaScript中常用于创建一个独立的作用域,以避免变量污染全局命名空间。常见的例子可以分解如下:(function(window){//这里可以写任何需要执行的代码})(window);在这个例子中,funct......