gpt4 book ai didi

javascript - 访问每个带参数的函数的参数对象是否是一种不好的做法?

转载 作者:搜寻专家 更新时间:2023-11-01 04:47:32 26 4
gpt4 key购买 nike

假设我在一个脚本中有 300 个函数。与传入命名参数相比,在每个函数中访问参数对象是否不好?

编辑:好吧,很多人都在问我为什么要这样做,这确实是一个理论问题,但既然你问我为什么要这样做,除了可变参数之外还有什么原因吗?

最佳答案

编写难以阅读且其他人难以理解、维护或使用的代码是不好的做法

好的做法指定命名参数并尽可能为它们赋予有意义、有用的描述性名称。

此外,您应该记住,即使不需要所有参数,您也可以声明命名参数。然后,您可以测试 arguments.length 以查看传递了多少个参数,或者测试特定命名参数的值以查看它们是否为 undefined

在参数高度可变的情况下,您还可以传递一个对象并让该对象 self 描述传递的参数。

在某些特定情况下,参数对象很有用,使用它是编写清晰、简洁和安全代码的最佳方式,但我从未见过所有函数都没有声明命名参数并仅使用参数的情况目的。除非您有一些非常不寻常的项目,否则这通常不是为这么多功能编写代码的最佳方式。

就性能而言,在所有主流浏览器中,访问命名参数似乎也比访问参数对象更快。在 this jsperf performance test这只是将传递给测试函数的前三个参数相加,使用命名参数比使用arguments对象快 2-8 倍。确切的性能差异可能取决于函数试图做什么,但 arguments 对象看起来肯定更慢。

如果您提供更多信息,说明为什么要使用参数对象而不是命名参数,或者为什么您认为使用参数对象会有好处,那么我们可能会提供更具体的建议。

关于javascript - 访问每个带参数的函数的参数对象是否是一种不好的做法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13299529/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com