获取Javascript toString中的值

获取Javascript toString中的值,javascript,object,prototype,Javascript,Object,Prototype,我有一个非常简单的问题 在Javascript中 “hello”+函数(){} 将打印 hellofunction(){} 因为Function.prototype将调用自己的toString方法,并返回“Function(){}” 现在,我想将toString方法重写为: Function.prototype.toString = function(){ return "my" + SOME_PROPERTY + "output" } 在这个自定义方法中,我想得到function(){} 我

我有一个非常简单的问题

在Javascript中

“hello”+函数(){}

将打印 hellofunction(){}

因为Function.prototype将调用自己的
toString
方法,并返回“Function(){}”

现在,我想将toString方法重写为:

Function.prototype.toString = function(){
return "my" + SOME_PROPERTY + "output"
}
在这个自定义方法中,我想得到
function(){}
我想知道如何在toString方法中获取这个当前值,因为我无法再次执行
toString
,因为它将以递归方式执行

我希望最终输出为:

"myfunction(){}output"

通过保存对原始
函数.prototype.toString
函数的引用,您可以
稍后在自定义
toString
中调用它,为您提供所需的输出并避免递归:

const origToString=Function.prototype.toString;
Function.prototype.toString=函数(){
返回“my”+origToString.call(this)+“output”
}

log(“+function(){})太酷了!还在想为什么我没有尝试存储引用并运行。谢谢你,伙计!!