有关arguments和return。

本文详细探讨了JavaScript中函数参数的使用,包括arguments对象的特性,如其与函数参数之间的映射关系,以及如何通过arguments访问传入函数的所有实际参数。此外,还介绍了return语句在函数中的作用,包括作为终止函数和返回值的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. arguments[0]表示第一个实参
function test(a,b,c,d) {
	alert(test.length);								//length:长度//
	alert(arguments.length);
	if(test.length == arguments.length) {
		return a+b;
		}
	}
	test(1,2);
	console.log(arguments[0]);				//控制台输出为1//

2.a变arguments跟着变。有一个映射关系。

function sum(a,b) {
	a = 2;
	arguments[0] = 3;
	console.log(a);
}
sum(1,2)										//控制台输出a=3//

若arguments里的值未定义,则输出为undefined

3.return两种
1/作为终止函数,停止读取代码,并且后面的不读取。
2/可将一个值返回到函数以外且同时作为终止函数
return空格123

### `arguments` 参数与 `args` 参数的区别及使用场景 #### JavaScript 中的 `arguments` 在 JavaScript 函数内部,存在一个名为 `arguments` 的伪数组对象,该对象包含了传递给函数的所有参数。此对象不是真正意义上的数组,因此不具备原生数组的方法。 为了利用数组方法处理这些参数,通常需要将其转换成真实数组: ```javascript function sortArguments() { let args = Array.from(arguments); return args.sort((a, b) => a - b); } console.log(sortArguments(5, 3, 7, 1)); // 输出: [1, 3, 5, 7] ``` 这种机制适用于旧版 ECMAScript 版本,在 ES6 及之后版本中推荐使用剩余参数语法来替代 `arguments` 对象[^3]。 #### Python 中的 `*args` 相比之下,Python 提供了一种更直观的方式通过 `*args` 来接收不定数量的位置参数。这种方式下,所有额外传入的位置参数会被收集到一个元组里,可以直接作为序列进行迭代或其他操作而无需显式转换。 下面是一个简单的例子展示如何定义并调用带有 `*args` 的函数: ```python def sum_all(*numbers): total = 0 for num in numbers: total += num return total print(sum_all(1, 2, 3)) # 结果为 6 print(sum_all(1, 2, 3, 4, 5)) # 结果为 15 ``` 值得注意的是,虽然两者都用于捕获多个未命名实参,但在具体实现细节上有显著差异:JavaScript 使用的对象形式 (`arguments`) 需要特殊处理才能像常规数组一样工作;而在 Python 中则直接返回了一个标准的数据结构 (tuple)[^1]。 此外,当涉及到关键字参数时,两种语言也有不同的处理方式。对于 Python 而言,除了可以接受任意数量的位置参数外,还可以指定关键字参数(`**kwargs`),从而更加灵活地管理输入数据[^4]。 综上所述,尽管两个特性名称相似且目的相近,但由于各自编程环境的不同设计哲学技术背景,它们之间存在着明显的区别各自的优缺点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值