.apply方法如何使用(类和原型)

时间:2017-06-14 15:29:39

标签: javascript dependency-injection

我使用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]);




1 个答案:

答案 0 :(得分:0)

你的代码有一些问题,主要是因为从不执行你的模块,所以应该指向构造函数的变量实际指向模块。

下一个重大问题是,您无法在构造函数上调用e >= g来创建新实例。有许多变通方法,in this Q/A取决于您的目标Javascript版本,但下面的工作(我认为)是您的预期。

apply