Предположим, что наш скрипт включен в веб-страницу, а предыдущий скрипт (который уже выполнялся) делал следующее:
String.prototype.split = function () {
return 'U MAD BRO?';
};
Итак, метод split
строки был перезаписан.
Мы хотели бы использовать этот метод, поэтому нам нужно как-то восстановить его. Конечно, мы могли бы просто определить собственную реализацию этого метода и использовать ее вместо него. Однако в рамках данного вопроса предположим, что мы действительно хотим восстановить реализацию этого метода в браузере.
Итак, браузер имеет реализацию метода split
(в родном коде, я полагаю), и эта реализация присваивается String.prototype.split
всякий раз, когда загружается новая веб-страница.
Нам нужна эта реализация! Мы хотим вернуть ее в String.prototype.split
.
Сейчас я уже придумал одно решение - это хак, и он, похоже, работает, но у него могут быть недостатки, мне нужно будет немного протестировать...