关于JavaScript这道面试题考查了四个能力,关键是不只有一种解法

点击上方蓝字关注“小郑搞码事”,每天都能学到知识,搞懂一个问题!

有这么一道面试题:

关于JavaScript这道面试题考查了四个能力,关键是不只有一种解法

写一个sum方法,当用下面两种形式调用它时将正常工作。

这道题有意思,第一种形式是给sum直接传了两个参数(2,3),第二种形式是分两次给函数传参数。一看,有点经验的应该都知道怎么实现了吧。

这道题考查了四个能力:

1、arguments的理解和使用能力

2、匿名函数的使用能力

3、return的操作能力

4、代码的组件能力(利用参数来区分逻辑)

下面我给出两种解法:

方法一,arguments处理参数

代码如下:

关于JavaScript这道面试题考查了四个能力,关键是不只有一种解法

如上代码所示,通过arguments确定是两个参数,我们就直接返回它们两之和,否则先返回一个匿名函数。再将第二个参数作为参数传给这个匿名函数。通过匿名函数返回它们之和。

方法二,判断参数

代码如下:

关于JavaScript这道面试题考查了四个能力,关键是不只有一种解法

逻辑和方法一差不多,主要改点是,我不通过arguments来判断,而是通过判断第二个参数是否有来返回值还是匿名函数。

总结一下:

注意这道题考查的几个知识点,有趣的是不只有这些解法。


分享到:


相關文章: