我正在尝试编写一个函数,它将另一个函数作为参数(我们可以假设其他函数的toString方法将始终被覆盖,并返回一个自定义值)并返回函数' s原始的toString值。
function foo () {}
foo.toString = function () {
return 'abc'; }
如何恢复函数的toString方法,以便它返回" function foo(){}"再次?
答案 0 :(得分:3)
由于toString
是一个原型属性,当你delete
它时,它会恢复为默认属性:
function foo () {}
foo.toString = function () {
return 'abc';
}
document.write('<pre>'+JSON.stringify(String(foo),0,3));
delete foo.toString
document.write('<pre>'+JSON.stringify(String(foo),0,3));