js-arguments与剩余参数

arguments
arguments对象在函数体内自动可用,并且它是一个类似数组的对象(伪数组),包含了传递给函数的所有参数。

function useArguments(num) {
	console.log(num)
	console.log(arguments)
}
useArguments(1,2,3)
输出: 1
输出: { '0': 1, '1': 2, '2': 3, length: 3 } 或类似结构 

1、arguments是伪数组,因此没有数组的方法。可以通过 Array.from(arguments)转换为真数组。
2、arguments是在函数体内隐式可用的,不需要声明。
3、arguments包含了函数调用时传入的所有参数。
4、arguments在箭头函数中不可用,箭头函数没有自己的arguments,但是会捕获其封闭执行上下文中的arguments(如果有的话)
5、如果形参有默认值,arguments自动进入严格模式‘use strict’,改变形参不影响arguments

function useArguments() {
	console.log('一:'+Array.from(arguments))
    const getArguments = () => {
        console.log('二:'+Array.from(arguments))
    }
    getArguments()
}
useArguments(1,2,3)
输出: 一:[ 1, 2, 3 ] 
输出: 二:[ 1, 2, 3 ] 

剩余参数
剩余参数允许将一个不定数量的参数作为一个数组收集起来。

const useRestParameters = (num, ...rest) => {
    console.log(num)
	console.log(rest)
}
useRestParameters(1, 2, 3) 
输出:1
输出:[ 2, 3 ]

1、剩余参数是真正的数组
2、剩余参数需要在函数参数中显示声明,使用…语法
3、剩余参数只收集那儿写没有对应形参的实参。如果形参与实参一一对应,那么剩余参数将是一个空数组。
4、剩余参数可以在箭头函数中使用,就像在任何其他函数中一样。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值