我有功能,我将另外两个函数作为参数传递,如:
doSomething的(func1的,FUNC2)
我需要的是在导出函数时在其他上下文中对func1进行原型化。
例如,我有2个不同的文件:
在第一个中我导出一个接收2个参数函数的函数:
module.exports = (func1, func2) => {
}
在第二个我传递参数,就像我之前说的doSomething(func1,func2)
我怎么能在module.exports原型中使用toString的方式,我可以得到类似于function1的输出:
/ * func1()* / func2()
我试过这种方式:
module.exports = (func1, func2) => {
func1.prototype.toString = function () {
const comment = `/* ${(_.toString(func1))} */ \n`;
return comment;
};
};
结果是func1没有/ * * /任何帮助?
答案 0 :(得分:0)
您可能希望定义func1.toString
而不是func1.prototype.toString
。前者将用于func1.toString()
。后者将用于func1
的实例,例如(new func1()).toString()
。
对象(包括函数)通过文件/模块之间的引用传递。你做到这一点并不重要。
> Foo.prototype.toString = function () { return 'proto-tostring' }
> Foo.toString = function () { return 'ctor-tostring' }
> Foo.toString()
'ctor-tostring'
> (new Foo()).toString()
'proto-tostring'