我知道这可能是一个奇怪的问题,可能没有实际应用,但是否有可能创建一个 JavaScript 类来构造像函数一样的实例?这就是我的意思:
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
进一步明确目标:
method
应该可以作为函数调用method
应该是调用构造函数的结果(例如var method = new Factory()
在这种情况下)- 构造函数不能是
Function
.