我使用typescript来设计类,使用Dependencies注入设计模式的概念。 在Injector类的代码里面有一行代码: car.apply(汽车,[新门]); 我们假设执行主类然后我们可以使用(依赖项,方法),因为我们将它们作为参数注入但是.apply不执行函数的事实!! 那究竟发生了什么?
var car = function (){
function car(doorsClass){
this.doorsClass = doorsClass;
this.color('red');
this.doorsNum(4);
}
car.prototype.color = function(color){
console.log('Car color is '+color);
}
car.prototype.doorsNum = function(doorsNum){
console.log('Car has '+this.doorsClass.doors(doorsNum)+' doors');
}
return car;
}
var doors = function (){
function doors(){ }
doors.prototype.doors = function(num){
return num;
}
return doors;
}
car.apply(car, [new doors]);

答案 0 :(得分:0)
你的代码有一些问题,主要是因为从不执行你的模块,所以应该指向构造函数的变量实际指向模块。
下一个重大问题是,您无法在构造函数上调用e >= g
来创建新实例。有许多变通方法,in this Q/A取决于您的目标Javascript版本,但下面的工作(我认为)是您的预期。
apply