Javascript 优化参数发送到多个方法的方式

Javascript 优化参数发送到多个方法的方式,javascript,oop,design-patterns,Javascript,Oop,Design Patterns,我有一个对象的单例实例,它有一个方法m1,调用m2,调用m3。。。依此类推,直到m10 我向m1发送了一组参数,这些参数仅由m10使用。但我最终将这些参数传递给m2…m9,即使这些方法没有使用它们。我也不能直接从m1调用m10,因为m10需要一些在途中构建的其他参数 问题是,我不想每次都将这些不必要的参数传递给每个方法,特别是当它不在内部使用时。有没有办法使用闭包来解决这个问题 var singleTon = function(){}; singleTon.prototype.m1

我有一个对象的单例实例,它有一个方法
m1
,调用
m2
,调用
m3
。。。依此类推,直到
m10

我向
m1
发送了一组参数,这些参数仅由
m10
使用。但我最终将这些参数传递给
m2
m9
,即使这些方法没有使用它们。我也不能直接从
m1
调用
m10
,因为
m10
需要一些在途中构建的其他参数

问题是,我不想每次都将这些不必要的参数传递给每个方法,特别是当它不在内部使用时。有没有办法使用闭包来解决这个问题

  var singleTon = function(){};

    singleTon.prototype.m1 = function(a,b,c){
      this.m2(a,b,c);
    };

    singleTon.prototype.m2 = function(a,b,c){
      this.m3(a,b,c);
    };

    ... //Goes on till m9

    singleTon.prototype.m10 = function(a,b,c,d,e){

       //Perform some operations with a,b,c,d,e

    };

我找到了一个解决方案,这是通过使用洛达斯的方法。它正按照我的要求进行操作。

我不知道您是否每次都传递完全相同的参数。但是如果您是,您是否考虑过使用
函数.prototype.apply
?它允许您使用
参数
对象调用方法,而无需显式命名每个-。希望我没有误解你为什么不将这些参数设置为对象的属性,并根据需要注入它们?@HenriqueBarcelos如果我将它们设置为对象的属性,那么它们的范围将成为这个单一对象的范围,这是整个应用程序生命的范围。我希望它的作用域是
m1
方法的每次调用。@Ian 1。是的,我每次都通过相同的参数。2.你能用一些代码举例说明你在说什么吗?@Tushar,你可以根据需要注入依赖项,当你不再需要它们时清除它们。。。