在Javascript中创建函数构造函数

时间:2017-03-30 01:46:27

标签: javascript function constructor

如果可能的话,我如何创建一个函数构造函数?一个也有原型方法的构造函数。

我知道如何创建对象构造函数,即

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 },
};

为了代码卫生,是否有更优雅的解决方案?

1 个答案:

答案 0 :(得分:0)

尝试...

function Person(name) {  
  this.name = name;
}
// create a new instance
var person = new Person('codechimp');
console.log('person.constructor is ' + person.constructor);