JavaScript中的依赖注入不起作用

时间:2014-04-10 20:24:45

标签: javascript

我想编写一个函数createCoffee,它接受一个名为knowHow

的函数参数
    function createCoffee(knowHow){
var x=new knowHow(coffee,beans,milk,sugar);
knowHow.create();
}

这样我就可以对如何制作咖啡有不同的了解。

然后我写了一个示例knowHow函数

    var x=function oneWay(a,b,c,d){
console.log(a+b+c+d)
};

我将x传递给createCoffee

然后

a=5;b=1;c=2;d=2;

createCoffee(x);

这应该根据指定的knowHow创建咖啡。

我预计结果会记录变量的总和。它是否与变量范围有关。

示例逻辑上是否合理。如何在oneWay(...)函数中指定变量

2 个答案:

答案 0 :(得分:2)

不是初始化a,b,c,d,而是执行此操作:

var coffee=5, beans=1, milk=2, sugar=2;

答案 1 :(得分:0)

谢谢大家。我用以下方式解决了我的目标......

function coffeeMaker(knowHow,coffee,milk,sugar){
    knowHow.create(coffee,milk,sugar);
}

var x={create: function oneWay(a,b,c){
    console.log(a+b+c);
}};

coffeeMaker(x,2,3,4);

我想这样做,以便我可以按照Java中的界面来完成程序。

在Java中,您可以传递对接口的引用,您可以使用不同的实现。 我想达到同样的目的。

在此,我可以更改knowHow并将其插入coffeeMaker。

在当前情况下看起来多余,但是当有10个与对象关联的行为时,它就变得有用了。我正在利用战略设计模式。