You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在不声明参数的情况下实现支持无限参数的JavaScript函数?

如何实现支持无限参数的JavaScript函数?

你的代码里存在未声明变量的问题(params和param都没有定义),所以无法正常运行。下面提供两种可靠的实现方式:

方法1:剩余参数语法(ES6+ 推荐)

ES6引入的剩余参数...args可以直接将所有传入的参数收集为一个数组,写法简洁直观,是当前的推荐方案:

function func(...args) {
  // 用for循环遍历
  for(let i = 0; i < args.length; i++){
    console.log(args[i]);
  }

  // 也可以用数组方法简化遍历
  args.forEach(item => console.log(item));
}

说明:...args会自动把所有传入的参数打包成真正的数组,你可以直接使用任何数组方法操作它。

方法2:arguments对象(兼容ES5及更早环境)

在普通函数(非箭头函数)内部,arguments是一个内置的类数组对象,包含了所有传入的参数。如果需要使用数组方法,需要先将其转换为真正的数组:

function func() {
  // 方式1:将arguments转为数组
  const args = Array.from(arguments);
  args.forEach(item => console.log(item));

  // 方式2:直接遍历类数组的arguments
  for(let i = 0; i < arguments.length; i++){
    console.log(arguments[i]);
  }
}

注意:箭头函数中不存在arguments对象,所以这种方法仅适用于传统的函数声明/表达式。

内容的提问来源于stack exchange,提问作者Jerico

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 01:10:02