我想编写一个函数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(...)函数中指定变量
答案 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个与对象关联的行为时,它就变得有用了。我正在利用战略设计模式。