Javascript 将封装在对象中的参数赋予函数是一个坏主意吗?

Javascript 将封装在对象中的参数赋予函数是一个坏主意吗?,javascript,performance,function,arguments,Javascript,Performance,Function,Arguments,通常,随着代码库的增长,函数接收到的参数越来越多,维护起来有点马虎,因此我通常只会默认如下: f = function(args){return args.v + 1;} f({"v":2}); 看起来干净多了,但这样可以吗?为什么不是每个人都这样做?看起来更干净,但这样做可以吗 对 为什么不是每个人都这么做 他们不是吗?这是Javascript中最常见的多参数情况的标准实践:传递选项。因为在Javascript中创建一次性对象没有开销,所以当您有多个参数时,这是一种常见的做法。看起来更干净

通常,随着代码库的增长,函数接收到的参数越来越多,维护起来有点马虎,因此我通常只会默认如下:

f = function(args){return args.v + 1;}

f({"v":2});

看起来干净多了,但这样可以吗?为什么不是每个人都这样做?

看起来更干净,但这样做可以吗

为什么不是每个人都这么做


他们不是吗?这是Javascript中最常见的多参数情况的标准实践:传递选项。因为在Javascript中创建一次性对象没有开销,所以当您有多个参数时,这是一种常见的做法。

看起来更干净,但这样做可以吗

为什么不是每个人都这么做


他们不是吗?这是Javascript中最常见的多参数情况的标准实践:传递选项。由于在Javascript中创建一次性对象没有开销,因此当您有多个参数时,这是一种常见的做法。

通常,如果一个函数使用了太多的参数,那么它可能做得太多。您应该考虑将其重构为更小的函数/对象


Bob叔叔在他的《干净的代码》一书中建议使用参数很少的函数,我同意。当您有许多参数或传入一个对象或数组时,读取代码就会变得困难。我无法猜测函数将如何处理所有参数,或者如果您在未读取函数体的情况下传入对象,它希望作为参数做什么。

通常,如果函数使用了太多的参数,它可能执行了太多的操作。您应该考虑将其重构为更小的函数/对象


Bob叔叔在他的《干净的代码》一书中建议使用参数很少的函数,我同意。当您有许多参数或传入一个对象或数组时,读取代码就会变得困难。我无法猜测函数将如何处理所有参数,或者如果您在未读取函数体的情况下传入对象,则函数期望参数是什么。

这很好-只要您对作为变量传递的对象类型保持良好的控制,并在必要时验证这些值,考虑假/空/未定义的类型问题,然后是的,这是一个很好的实践。维护起来也容易得多。

这很好-只要您对作为变量传递的对象的类型保持良好的控制,并在必要时验证这些值,考虑假/空/未定义的类型问题,那么是的,这是一个好的实践。而且更易于维护。

在这些情况下,您可能希望开始研究JavaScript类OOP。。。这些“匿名对象”的问题是,程序员现在和六个月后必须记住给定函数需要哪些属性。对于使用显式参数arg1、arg2的函数,您更容易知道,尤其是如果您正确地标记了参数,那么函数对参数的要求。。。但是,对于许多参数,如果适用的话,我可能会建议使用OOP…..在这些情况下,您可能希望开始研究JavaScript类OOP。。。这些“匿名对象”的问题是,程序员现在和六个月后必须记住给定函数需要哪些属性。对于使用显式参数arg1、arg2的函数,您更容易知道,尤其是如果您正确地标记了参数,那么函数对参数的要求。。。但是,对于许多论点,如果适用的话,我可能会建议OOP。。。。。