获取Javascript toString中的值
我有一个非常简单的问题 在Javascript中 “hello”+函数(){} 将打印 hellofunction(){} 因为Function.prototype将调用自己的获取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(){} 我
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(){})代码>太酷了!还在想为什么我没有尝试存储引用并运行。谢谢你,伙计!!