JavaScript 实例为函数的构造函数
JavaScript constructor whose instances are functions
我知道这可能是一个奇怪的问题,可能没有实际应用,但是是否有可能制作一个 JavaScript class 来构造像函数一样运行的实例?这就是我的意思:
function Factory() {}
// this may not be necessary, but I'll include it for sake of clarification
Factory.prototype = Object.create(Function.prototype);
var method = new Factory();
method(); // Objective: should not throw TypeError
进一步阐明objective:
method
应该可以作为函数调用
method
应该是调用构造函数的结果(例如本例中的 var method = new Factory()
)
- 构造函数不能是
Function
.
如果我没理解错的话。对象构造函数需要return他的方法。然后你就可以像你描述的那样调用它了。
function Factory() {
return this.method;
}
Factory.prototype.method = function() {
console.log('from method');
};
var method = new Factory();
method();
我知道这可能是一个奇怪的问题,可能没有实际应用,但是是否有可能制作一个 JavaScript class 来构造像函数一样运行的实例?这就是我的意思:
function Factory() {}
// this may not be necessary, but I'll include it for sake of clarification
Factory.prototype = Object.create(Function.prototype);
var method = new Factory();
method(); // Objective: should not throw TypeError
进一步阐明objective:
method
应该可以作为函数调用method
应该是调用构造函数的结果(例如本例中的var method = new Factory()
)- 构造函数不能是
Function
.
如果我没理解错的话。对象构造函数需要return他的方法。然后你就可以像你描述的那样调用它了。
function Factory() {
return this.method;
}
Factory.prototype.method = function() {
console.log('from method');
};
var method = new Factory();
method();