JavaScript .toString()默认值

时间:2016-02-09 18:10:59

标签: javascript function tostring

我正在尝试编写一个函数,它将另一个函数作为参数(我们可以假设其他函数的toString方法将始终被覆盖,并返回一个自定义值)并返回函数' s原始的toString值。

     function foo () {} 
     foo.toString = function () {
     return 'abc';    }

如何恢复函数的toString方法,以便它返回" function foo(){}"再次?

1 个答案:

答案 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));