Verificar se uma propriedade / função global foi sobrescrita em JavaScript

O JavaScript facilita a sobregravação de propriedades e funções do objeto global. Gostaria de encontrar uma maneira de verificar se a versão original de uma propriedade global foi substituída.

Considere alguém colocando isso em seu HTML:

<code><script type="text/javascript">
    window.encodeURIComponent = eval;
</script>
<script type="text/javascript" src="myscript.js"></script>
</code>

Se myscript.js chamar a função encodeURIComponent em algum lugar, ela agora se comportará de maneira imprevisível. Então, existe uma maneira que eu possa verificar dentro do myscript.js se alguém tiver sobrescrito essa função antes de usá-la?

questionAnswers(5)

yourAnswerToTheQuestion