JavaScript 函数参数和属性

rest

…rest 调用,位置在所有参数的最后面,是一个可迭代对象

arguments

arguments 老代码中可以找到arguments 的使用,可以通过索引的方式访问其中的变量

箭头函数没有arguments

Spread 参数

Spread 参数适用于任何一个可迭代对象,包括可迭代对象,类数组,数组。
情景: 我们像Math.max中传递一个数组(Math.,max应该接收的是一个列表),但不想通过索引的方式把所有的参数写进去,因为这样很麻烦。于是,我们可以使用Spread 参数,用法Math.max(…arr);这样就把整个数组传进去了。
同样在合并数组中可以这样传递以列表的形式一整个数组,而不用通过索引一个一个拆分。
Array.from(arr)和[…arr]作用完全相同

函数的属性

函数名function.name

函数名通过直接赋值获得或者通过上下文推测获得
函数length属性

length 表示函数的参数个数,余参…rest不参与计数
自定义属性

函数也是一个对象,我们可以像给对象赋值一样,给函数自定义属性。需要注意的是,属性不是变量,被存储在函数内,而不是外部的词法环境(外部:先声明函数,再在函数的外面声明函数的属性,所以这里用外部)。所以即使是在函数外面,也可以用函数名.属性名进行引用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值