javascript 新方向 (2)

作者 : 开心源码 本文共713个字,预计阅读时间需要2分钟 发布时间: 2022-05-12 共184人阅读

在面向对象的语言世界里,语言都支持多态这个特性,同一个函数可以接受不同个数参数,执行不同的函数体。我们看看在 javascript 世界里是如何支持函数参数的。

我们写一个比较来取得最大值的方法,接受两个参数。没毛病。

假如我们突发奇想传入三个参数 1, 8 , 3? 来调用这个函数,看一看效果,没毛病

其实在 javascript 函数中有一个隐藏变量 arguments 来包括函数。我们打印一下 arguments 看似是对象,属性为索引。

看上去很像数组,我们判断一下 arguments 是不是数组类型,结果让我们失望,arguments 并不是数组类型。

但是我们可以用遍历数组的方式来遍历 arguments 来查看每一个(调用函数的)参数。

好,尽管可能 arguments 不是数组,但是是不是 arguments 会有数组的少量特性,或者者可能具备 reduce 方法。

结果 arguments 并不具备 reduce 方法。我们可以处理这个问题,我们将原有的参数的形式修改为接受一个解构变量。

这个解构变量…numbers 就是我们想要的数组类型。

那么我们即可以像使用数组那样来使用 numbers 。这样一来我们即可以改造一下函数。

假如我们想将数组作为 max 方法参数来调用函数,假如我们这样写来调用函数,是不是看上去不那么优雅,作为一个程序员,我们做什么事都要正当还要优雅,我们都是在一次一次重构中来追求优雅中进步和升华的。

这样来调用函数看起来就优雅,我们还是用解构,其实这个 es6 的新特性也是我个人比较喜欢一个特性。

写一个欢迎方法,呵呵打印所有参数,可能有人来看怎样都是简单的呢,其实一切都起源于简单,而终止复杂。

一下为少量解构的代码,不做过多解释想必大家一看就明白了。

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » javascript 新方向 (2)

发表回复