Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Почему выполнение инструкции "}!{" в консоли браузера возвращает false? (https://javascript.ru/forum/misc/30705-pochemu-vypolnenie-instrukcii-%7D-%7B-v-konsoli-brauzera-vozvrashhaet-false.html)

Aetae 14.08.2012 13:46

Цитата:

Сообщение от Maxmaxmахimus (Сообщение 197427)
короче вот так будет работать нормально, почему они так не сделали?

with(consoleProps){
    (eval('code'))
}

Потому что код эвалится в контексте вызова eval. Если они сделают так - то херня получится, ибо вызов будет в контексте браузера, а не текущего окна.
Придумать нормальный вариант наверняка можно, но скорее всего они просто не заморачивались.

Aetae 14.08.2012 17:10

Забей. В общем твой вариант возможен, просто они поленились делать ещё одну функцию в обёртке виндоу.
В фф вообще заморочек много, потому я и тупанул чутка, а имел я виду банально:
a={
  eval: function(code){return eval( code )},
  toString : function(){return '[object A]'}
}
a.eval('alert(this)')
window.eval('alert(this)')
Но тут не тот случай.


Часовой пояс GMT +3, время: 18:40.