issues
search
LuckyWinty
/
fe-weekly-questions
A pro to record some interview questions every week...
MIT License
341
stars
34
forks
source link
剩余参数和 arguments 对象的区别是什么?
#82
Open
LuckyWinty
opened
3 years ago
LuckyWinty
commented
3 years ago
剩余参数只包含那些没有对应形参的实参(可以是参数的 部分),而 arguments 对象包含了传给函数的所有实参(是参数的全部)
arguments 对象不是一个真实的数组,而剩余参数是真实的 Array 实例 也就是说,能够在它上面直接使用所有的数组方法,比如 sort、map、forEach、pop
arguments 对象还有一些附加的属性(如 callee 属性)
如果想在 arguments 对象上使用数组方法,首先要将它转换为真实的数组,比如使用 [].slice.call(arguments)
SiHao24
commented
3 years ago
补充第四条
Array.from(arguments)
[... arguments]
Array.protoType.slice.call(arguments)