07.10.2014, 12:49
|
Аспирант
|
|
Регистрация: 02.09.2014
Сообщений: 77
|
|
Сообщение от kobezzza
|
контекст исполнения, объект переменных и т.д. определён в стандарте ECMAScript3, а в версии ECMAScript5 был заменён на окружения,
|
Это не важно, они всего лишь заменили названия, сути это не меняет.
|
|
07.10.2014, 12:51
|
Аспирант
|
|
Регистрация: 02.09.2014
Сообщений: 77
|
|
Сообщение от kobezzza
|
а не реализаций самой VM
|
Не стоит говорить о конкретной реализации, когда рассматривается семантика
|
|
07.10.2014, 12:53
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Сообщение от petya
|
Это не важно, они всего лишь заменили названия, сути это не меняет.
|
Следуя такой риторике можно докопаться абсолютно до чего угодно. Статья описывает ES3 и использует термины спецификации, в статьях по ES5 и ES6 используется другие термины. Всё таки статья называется не "Сферичная VM в вакууме".
|
|
07.10.2014, 12:58
|
Аспирант
|
|
Регистрация: 02.09.2014
Сообщений: 77
|
|
kobezzza,
Я не рассматриваю вопросы терминологии тут вообще. Я говорю о превратном понимании автором процесса исполнения програмы. Он трактует стандарт по своему, якобы, проясняя что-то, но трактовка эта не верна.
|
|
07.10.2014, 13:00
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Сообщение от petya
|
kobezzza,
Я не рассматриваю вопросы терминологии тут вообще. Я говорю о превратном понимании автором процесса исполнения програмы. Он трактует стандарт по своему, якобы, проясняя что-то, но трактовка эта не верна.
|
Сообщение от petya
|
Контекст исполнения -- это окружение, никакого "входа" в него, а тем более "исполнения", в обычном смысле, не происходит.
|
Цитата:
|
Следующие шаги выполняются, когда управление входит в контекст исполнения кода функции, который содержится в объекте функции F, значения thisArg и argumentsList передаются при вызове:
Если код функции представляет собой строгий код, то ThisBinding присвоить значение thisArg Аргумент this.
Иначе, если thisArg – null или undefined, то ThisBinding присвоить значение глобального объекта.
Иначе, если Тип(thisArg) не объект, то ThisBinding присвоить значение ToObject(thisArg).
Иначе, ThisBinding присвоить значение thisArg.
Пусть localEnv Локальное окружение будет результатом вызова NewDeclarativeEnvironment с передачей в качестве аргумента значения внутреннего свойства [[Scope]] для F.
Присвоить LexicalEnvironment значение localEnv.
Присвоить VariableEnvironment значение localEnv.
Пусть code будет значением внутреннего свойства [[code]] для F.
Выполнить Инстанциирование привязки объявления, используя code и argumentList для кода функции, в соответствии с описанием в пункте 10.5.
|
http://es5.javascript.ru/x10.html#x10.4.3
***
Цитата:
|
Он трактует стандарт по своему, якобы, проясняя что-то, но трактовка эта не верна.
|
Ещё раз: нашли конкретное место, где он объективно не прав - напишите ему и он поправит статью (ну или напиши свою статью с блекджеком и кудесницами), иначе всё это ничего не стоящая болтовня.
Последний раз редактировалось kobezzza, 07.10.2014 в 13:04.
|
|
07.10.2014, 13:02
|
Аспирант
|
|
Регистрация: 02.09.2014
Сообщений: 77
|
|
kobezzza,
Там говорится о входе в функцию, а не входе в окружение. Я против этого ничего не имею
|
|
07.10.2014, 13:09
|
Аспирант
|
|
Регистрация: 02.09.2014
Сообщений: 77
|
|
kobezzza,
Хотя да, вот это:
Следующие шаги выполняются, когда управление входит в контекст исполнения кода функции, который содержится в объекте функции F, значения thisArg и argumentsList передаются при вызове:
Достаточно неоднозначно, забубенно, я бы сказал. Возможно, косяки перевода. Правильным определением было бы, что-то вроде:
После входа в функцию происходит разрешение имен, в соответствии с окружением и правилами связывания. Рассматриваем исключительно семантику, разумеется.
Последний раз редактировалось petya, 07.10.2014 в 13:11.
|
|
07.10.2014, 13:13
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
petya, я всего лишь призываю к объективизму. Блог Сошникова, как и этот сайт один из столпов общепризнанной документации JS и стандарта ES и если ты считаешь, что автор не прав и можешь это доказать (ссылки на спеку и т.д.), то напиши ему с этими замечаниями, а не начинай кидаться какашками с умным видом. Неужели это так сложно?
|
|
07.10.2014, 19:14
|
|
|
Регистрация: 10.07.2008
Сообщений: 3,873
|
|
kobezzza, не трать время, это все тот же унылый foo/govnocoder/nanaets/newobject
|
|
|
|