Да, в use strict ибо. Но это мелочи. Ибо если сходить до передачи переменных в функцию таким методом, то обращение к eval можно заменить на что угодно. Через регулярные выражения например.
Вы не поняли. Я привел лишь как пример переопределение window и document. Там можно переопределить все глобальные переменные при необходимости (например через Object.getOwnPropertyNames(window) вытащить все и присвоить им undefined). Не в этом заключается мой вопрос. А в том, возможно ли это без использования eval (ну или new Function, что равносильно).
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.