Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 04.09.2016, 10:30
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Сообщение от scrollquest
резольвинг происходит в рантайме
Ну и хорошо. И как такое сделать на жабе скрипучей?
Ответить с цитированием
  #22 (permalink)  
Старый 04.09.2016, 10:34
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Сообщение от Ostic
i за операторными скобками не видна
В js переменные объявленные внутри конструкций вроде if, for, switch, etc не изолируются. И вообще жаба она скрипучая, то есть скрипт сам по себе не имеет смысла. Ну ты же видел скриптовые API в офисе, 1с, в ФШ и других прогах. В точности такая шняга для браузера как программы.

Походу ты изучаешь программирование на си и жс. А надо на паскале.
Ответить с цитированием
  #23 (permalink)  
Старый 04.09.2016, 19:16
Аспирант
Отправить личное сообщение для scrollquest Посмотреть профиль Найти все сообщения от scrollquest
 
Регистрация: 21.08.2016
Сообщений: 77

warren buffet,
this
Ответить с цитированием
  #24 (permalink)  
Старый 06.09.2016, 07:39
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Ты же знаешь, что я тупой. Мне надо пальцем показать. Покажи.
Ответить с цитированием
  #25 (permalink)  
Старый 07.09.2016, 01:47
Аспирант
Отправить личное сообщение для scrollquest Посмотреть профиль Найти все сообщения от scrollquest
 
Регистрация: 21.08.2016
Сообщений: 77

warren buffet,
лексическое(ранее) связывание это эквивалент замыканий или выражений с bind. Функция таскает с собой под ковром окружение, и при любом вызове связывается только с ним. При позднем связывании функция резольвит переменные только в момент вызова, независимо от лексического окружения.
o = {a: 1}
o.early = function(){return this.a}.bind(o)
o.late = function(){return this.a}

o1 = {a: 100, early: o.early, late: o.late}

alert([o1.early(), o1.late()])


Сами по себе понятия эти самоочевидны: функция связывается в момент определения(создания) или в момент вызова.
Фактически, термин "позднее связывание" эквивалентен понятию "динамическое связывание". Есть языки, где позднее связывание дефолтно(не требует ключевого слова this, self, etc). Языки в которых оно отсутствует вообще(например, питон, жаба), не являются ООП-языками в том смысле, в котором трактовал ООП Алан Кей. На позднем связывания построены принципы наследования делегированием, в тч и в JS

Последний раз редактировалось scrollquest, 07.09.2016 в 01:56.
Ответить с цитированием
  #26 (permalink)  
Старый 07.09.2016, 10:07
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Спасибо. С ходу нихуя не понял, надо обдумать. )))
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ООП в javascript. Алгоритмы построения приложений dmitry111 Оффтопик 17 08.06.2013 20:18
ООП в javascript iostream21 Общие вопросы Javascript 11 12.07.2012 00:16
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34
JavaScript: ООП Ars_Art Общие вопросы Javascript 13 09.02.2010 02:32