[函数式]JavaScript面试问题:函数式编程( 二 )
arguments 对象是一个类似数组的对象 , 它具有我们传递给函数的参数 。类似数组的意思是它具有 length 属性 , 我们可以通过使用索引来获取项目 , 从而循环遍历所有项目 , 但是它没有像 map , reduce 或 filter 这样的数组方法 。
它仅得到传统函数的参数 。
例如 , 我们可以这样写:function foo() {console.log(arguments); } foo(1, 2, 3, 4, 5);
然后 console.log 将向我们返回传递给 foo 的参数 , 即1、2、3、4和5 。
箭头函数没有绑定到 arguments 对象 , 所以我们不能把所有的参数都用这个对象传递给箭头函数 。
for ... of循环也适用于 arguments 对象 , 因此我们可以如下遍历参数:function foo() {for (let arg of arguments) {console.log(arg);} } foo(1, 2, 3, 4, 5);
我们可以使用扩展运算符将参数转换为数组 。例如 , 我们可以这样写:function foo() {console.log([...arguments]); } foo(1, 2, 3, 4, 5);
然后 , 我们输出了[1,2,3,4,5] 。总结
JavaScript具有许多函数式编程功能 。函数是一等对象 , 这意味着它们像其他任何对象一样被对待 。
它还具有古怪的 , 类似于数组的参数 , 以获取传递给传统函数的参数 。
如果对你有所启发和帮助 , 可以点个关注、收藏 , 也可以留言讨论 , 这是对作者的最大鼓励 。
【[函数式]JavaScript面试问题:函数式编程】作者简介:Web前端工程师 , 全栈开发工程师、持续学习者 。
推荐阅读
- ■面试官求你了,别再问我HTTPS
- 「面试」如何在视频面试中脱颖而出
- 『JavaScript』种草 ES2020 八大新功能
- 「人人都是产品经理」四象限选拔法:从面试官角度,看数据产品经理的面试和选拔
- 『人生第一份工作』解答字节跳动产品面试题:如何设计积分抽奖?
- 【Redis】阿里面试官让我用Zk(Zookeeper)实现分布式锁
- 人生第一份工作■在做技术面试官时,我是这样甄别大忽悠的
- 「深度学习」深度学习面试必备的 25 个问题
- 【JSP】我说我不会JSP,面试官就让我回去等通知了
- 「」Python3中lambda表达式与函数式编程讲解