点击上方蓝字关注“小郑搞码事”,每天都能学到知识,搞懂一个问题!
有这么一道面试题:
写一个sum方法,当用下面两种形式调用它时将正常工作。
这道题有意思,第一种形式是给sum直接传了两个参数(2,3),第二种形式是分两次给函数传参数。一看,有点经验的应该都知道怎么实现了吧。
这道题考查了四个能力:
1、arguments的理解和使用能力
2、匿名函数的使用能力
3、return的操作能力
4、代码的组件能力(利用参数来区分逻辑)
下面我给出两种解法:
方法一,arguments处理参数
代码如下:
如上代码所示,通过arguments确定是两个参数,我们就直接返回它们两之和,否则先返回一个匿名函数。再将第二个参数作为参数传给这个匿名函数。通过匿名函数返回它们之和。
方法二,判断参数
代码如下:
逻辑和方法一差不多,主要改点是,我不通过arguments来判断,而是通过判断第二个参数是否有来返回值还是匿名函数。
总结一下:
注意这道题考查的几个知识点,有趣的是不只有这些解法。
閱讀更多 小鄭搞碼事 的文章
關鍵字: 技术 JavaScript 解法