Несколько дней назад я задал вопрос, касающийся динамического изменения кода функции на полпути во время выполнения внешнего скрипта, и мне сказали полностью забыть, что когда-либо возникнет эта идея. Я не уверен, что понимаю, почему это так. Позвольте мне привести пример:
<script>
var display = function(msg)
{
alert(msg);
}
// Now, at the moment, the display() function
// is receiving a single parameter and alerting
// it to the user. I'm now going to use eval()
// to modify the display() function.
eval('display = ' + display.toString().replace('alert(', 'document.write('));
// Now, the display() function writes its parameter
// to the document as opposed to alerting it.
</script>
Я понимаю, что это довольно тривиальный пример, но, безусловно, должно быть какое-то использование, которое можно извлечь из способности динамически изменять функцию, что само по себе очень полезно.