Если есть код JS в виде текста и его необходимо запустить, есть 2 простых способа:
1. eval - используется там, где необходимо запустить код в нужной области видимости.
2. new Function - используется там, где необходимо запустить код в глобальной области видимости.
with я использовал для динамического формирования scope. Это единственный возможный вариант для такой задачи.
Так что это вполне полезные инструменты, только нужно уметь применять к месту.
|