Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.09.2014, 21:36
Интересующийся
Отправить личное сообщение для vvkk Посмотреть профиль Найти все сообщения от vvkk
 
Регистрация: 20.08.2014
Сообщений: 28

Переменные в скрипте
В скрипте есть переменные. Именно переменные а не свойства обекта Window. Как узнать какие есть переменные в скрипте?
Ответить с цитированием
  #2 (permalink)  
Старый 01.09.2014, 22:51
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,127

Любой JS код выполняется в определенном контексте у каждого контекста есть свой скоп переменных скопы могут быть вложенными.
От текущего контекста зависит текущий скоп а следовательно текущие переменные. Получить скоп из JS невозможно зато его видно в отладчике
Я не думаю что эта информация тебе сильно поможет =).
https://www.google.ru/webhp?sourceid...Script%20scope
Ответить с цитированием
  #3 (permalink)  
Старый 02.09.2014, 10:30
Интересующийся
Отправить личное сообщение для vvkk Посмотреть профиль Найти все сообщения от vvkk
 
Регистрация: 20.08.2014
Сообщений: 28

Как работает код в JS я знаю. Есть тот кто сможет обьяснить как получить переменные в скрипте?
Ответить с цитированием
  #4 (permalink)  
Старый 02.09.2014, 10:36
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,491

Брутфорсом. Или .toString(), а потом распарсить javascript парсером написанным на javascript.(если погуглить - наверняка и такое извращение найдётся.) Или глазами посмотреть в код.
В данной операции нет никакого практического смысла и языком она не предусмотрена.
__________________
29375, 35

Последний раз редактировалось Aetae, 02.09.2014 в 10:38.
Ответить с цитированием
  #5 (permalink)  
Старый 02.09.2014, 11:30
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Глазами смотрят код и юзают увиденные переменные. Это когда под Greasemonley пишешь какого-нить грабителя - так все и происходит. Потому что если даже какие-то переменные найти - что это даст если вы не знаете заранее к чему они вообще там созданы.
Ответить с цитированием
  #6 (permalink)  
Старый 02.09.2014, 13:50
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,127

Писец
Цитата:
у: Получить скоп невозможно
Цитата:
x: Как работает я знаю
x: Как получить переменные в скрипте?
Ответить с цитированием
  #7 (permalink)  
Старый 02.09.2014, 14:50
Интересующийся
Отправить личное сообщение для vvkk Посмотреть профиль Найти все сообщения от vvkk
 
Регистрация: 20.08.2014
Сообщений: 28

В ранних версиях Firefox получить скоп можно. Почемы вы решили что я хочу получить эти переменные именно через скоп?
Ответить с цитированием
  #8 (permalink)  
Старый 02.09.2014, 15:30
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,127

Наверно открою великую тайну из начала любого учебника по JavaScript
но переменные в JS хранятся только в объектах и ни где кроме объектов.
Если на объект нет ссылки то он удаляется сборщиком мусора.

т.е. специально для тех кто знает:
1. var создает переменную в текущем скопе и нигде более
2. объект где хранятся переменные называется скопом
3. любое обращение к переменной объявленной через var это поиск ее в текущем скопе а затем в вышестоящих скопах

как только удаляется ссылка на скоп скоп удаляется из памяти вместе со всеми переменными
Ссылка на скоп вызывает(называется) замыкание.
Ответить с цитированием
  #9 (permalink)  
Старый 02.09.2014, 16:20
Интересующийся
Отправить личное сообщение для vvkk Посмотреть профиль Найти все сообщения от vvkk
 
Регистрация: 20.08.2014
Сообщений: 28

Почему вы решили что я хочу получить эти переменные именно через скоп?
Мне не нужны значения этих переменных. Мне нужно определить существуют ли они или нет.

Последний раз редактировалось vvkk, 02.09.2014 в 16:39.
Ответить с цитированием
  #10 (permalink)  
Старый 02.09.2014, 18:00
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,491

Это противоречит тому что написано выше.
Проверяются они, очевидно, так typeof someVar !== 'undefined';
__________________
29375, 35
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Индивидуальные переменные в each Spamol jQuery 6 08.12.2012 14:34
Ссылки в скрипте Cloud Zoom onuvidelsolnce Events/DOM/Window 1 25.04.2012 19:24
Сеансовые переменные faiq Серверные языки и технологии 2 24.07.2011 10:32
Сессионные переменные в подгружаемом скрипте AlexJ AJAX и COMET 1 21.06.2011 10:34
Нужно сравнить дробные переменные netkent Общие вопросы Javascript 1 05.12.2010 18:30