JavaScript: небезопасная изоляция скриптов
Я смотрю многие начинают задумываться об изоляции JavaScript, подключаемых в контекст страницы. Например, вы подключаете
Сейчас считается, что безопасным методом является
(function (window, alert) {
alert('Функция «alert» изолирована и доступ к методу из «window» теперь получить нельзя');
})({}, function (){})Это не правильно.
Такой вызов вас ни от чего не защищает, более того, можно запросто «восстановить справедливость» и получить изнутри такого скрипта доступ к оригинальному window:
<script>
(function(window, alert){
alert('Пичалька');
(function(){ with(this) {
alert('Уже всё хорошо');
}}).call(null);
})({}, function(){})
</script>В общем случае идея такой изоляции — плохая. Я не видел ни одного удачного примера подобной изоляции и не смог придумать его самостоятельно.
Помидорный сок
Я люблю томатый сок, больше любых других. Особенно с пряностями. Мне всегда казалось, что в стране моего детства, СССР томатный сок существовал всегда. Читая книгу Ильфа и Петрова «Одноэтажная Америка» узнал что это не так (действие происходит в 1935):
И, наконец, с опаской, не сразу начали пить обыкновенный помидорный сок, предварительно поперчив его. Он оказался самым вкусным и освежающим и больше всего подошел к нашим южнорусским желудкам.
Ильф и Петров