做工程师不做码农@JavaScript面试问题:函数式编程( 二 )
例如 , 我们可以这样写:functionfoo(){console.log(arguments);}foo(1,2,3,4,5);
然后console.log将向我们返回传递给foo的参数 , 即1、2、3、4和5 。
箭头函数没有绑定到arguments对象 , 所以我们不能把所有的参数都用这个对象传递给箭头函数 。
for...of循环也适用于arguments对象 , 因此我们可以如下遍历参数:functionfoo(){for(letargofarguments){console.log(arg);}}foo(1,2,3,4,5);
我们可以使用扩展运算符将参数转换为数组 。 例如 , 我们可以这样写:functionfoo(){console.log([...arguments]);}foo(1,2,3,4,5);
然后 , 我们输出了[1,2,3,4,5] 。 总结
JavaScript具有许多函数式编程功能 。 函数是一等对象 , 这意味着它们像其他任何对象一样被对待 。
它还具有古怪的 , 类似于数组的参数 , 以获取传递给传统函数的参数 。
如果对你有所启发和帮助 , 可以点个关注、收藏 , 也可以留言讨论 , 这是对作者的最大鼓励 。
作者简介:Web前端工程师 , 全栈开发工程师、持续学习者 。
- 『科学家』科学家:地球对不起我们人类,若不做出改变,将会被控制?
- 『魅族17』魅族17没有光学防抖被狂喷,工程师说出真相,网友:心酸!
- 电子工程世界AI 功能,MATLAB新版问市,为工程师和科学家提供更多
- cnBeta 法官呼吁前苹果工程师跟苹果就专利案举行一场和解听证会
- 前通信工程师▲5G网络商用,首个700MHz
- 『网络工程师成长日记』中级网络优化工程师工资多少钱
- #神奇码农#不仅仅意味着更高性价比,还让我们有了底气华为手机性价比十足!自研芯片有什么价值?总结,华为麒麟芯片的崛起
- [曲面屏]国产机逐渐进入曲面屏市场,iPhone为何不做?四点原因很现实!
- 『5G研习社』谁提做手机,谁下岗?,任正非为何说:华为永远不做手机
- 网络工程师成长日记▲网络优化工程师具备哪些技能知识