Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.07.2014, 01:12
Интересующийся
Отправить личное сообщение для pshcolnyy Посмотреть профиль Найти все сообщения от pshcolnyy
 
Регистрация: 19.04.2014
Сообщений: 25

Перевернулся мир в моей голове.
Всем привет. Вот я тут недавно начал читать книгу с носорогом на обложке по java script и у меня возникло несколько вопросов в понимании прочитанного в этом фрагменте текста.


8.8.2. Объект вызова
Когда интерпретатор JavaScript вызывает функцию, в первую очередь он устанавливает область видимости в соответствии с цепочкой областей видимости, которая действовала на момент определения функции. Затем он добавляет в начало цепочки новый объект, известный как объект вызова – в спецификации
ECMAScript используется термин объект активации (activation object). В объект вызова добавляется свойство arguments, которое ссылается на объект Arguments функции. После этого в объект вызова добавляются именованные аргументы функции. Любые локальные переменные, объявленные с помощью инструкции var, также определяются внутри объекта. Поскольку данный объект вызова
располагается в начале цепочки областей видимости, все локальные переменные, аргументы функции и объект Arguments становятся видимыми из тела функции. Помимо всего прочего это означает, что все одноименные свойства оказываются за пределами области видимости.
Обратите внимание: this, в отличие от arguments, – это не свойство объекта вызова, а ключевое слово.


1) Вопрос про первое предложение. Какая еще цепочка видимости в соответствии с той которая была на момент создания функции. Да я понимаю когда создаётся функции она может использовать все, что есть вне ее, а вот если функции внутри функции то внешняя не видит ничего из внутренней.При этом тут не говорится о создании функции , тут говориться о том месте где вызывают функцию, вот я не понимаю какая цепочка видимости функции может быть.

2) Второе предложение тоже слегка непонятно для меня. Начало цепочки видимости это там где глобальный объект или там где находится сама функция. В 3 предложении написано про объект вызова в котом находиться все переменные, другие функции, и все остальное что есть в функции. Я думал ,что он создается тогда же когда и создается функция, а не тогда когда она применяется.

3) И тут в самом конце написано, что потому что объект вызова находится в самом начале цепочки видимости все, что находиться снаружи функции прекрасно видит все переменные и другие вещи которые находятся внутри функции.



Заранее спасибо за ответы.
Ответить с цитированием
  #2 (permalink)  
Старый 17.07.2014, 01:27
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Если я отвечу на вопросы, что от этого изменится?
Начни практиковаться и сам поймешь, что автор имел ввиду.
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #3 (permalink)  
Старый 17.07.2014, 01:45
Интересующийся
Отправить личное сообщение для pshcolnyy Посмотреть профиль Найти все сообщения от pshcolnyy
 
Регистрация: 19.04.2014
Сообщений: 25

А как я пойму что понял это
Ответить с цитированием
  #4 (permalink)  
Старый 17.07.2014, 08:32
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,127

Сообщение от pshcolnyy Посмотреть сообщение
А как я пойму что понял это
ты поймёшь что понял.
если не понял ты не поймёшь этого
Ответить с цитированием
Ответ



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

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