如果可能的话,我如何创建一个函数构造函数?一个也有原型方法的构造函数。
我知道如何创建对象构造函数,即
Function Thing(val) { this.prop1 = val }
Thing.prototype.action = function()...
但是为了使用原型道具和方法创建一个新函数,我能想到的最好的是,例如:
Function Func(val) {
var func = function(x) {return val*x};
func.val = val;
func.__proto__ = proto;
return func;
}
const proto = {
product: function(x) { return this.val*x },
};
为了代码卫生,是否有更优雅的解决方案?
答案 0 :(得分:0)
尝试...
function Person(name) {
this.name = name;
}
// create a new instance
var person = new Person('codechimp');
console.log('person.constructor is ' + person.constructor);