Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   ООП и JavaScript (https://javascript.ru/forum/misc/64719-oop-i-javascript.html)

warren buffet 04.09.2016 10:30

Цитата:

Сообщение от scrollquest
резольвинг происходит в рантайме

Ну и хорошо. И как такое сделать на жабе скрипучей?

warren buffet 04.09.2016 10:34

Цитата:

Сообщение от Ostic
i за операторными скобками не видна

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

Походу ты изучаешь программирование на си и жс. А надо на паскале.

scrollquest 04.09.2016 19:16

warren buffet,
this

warren buffet 06.09.2016 07:39

Ты же знаешь, что я тупой. Мне надо пальцем показать. Покажи.

scrollquest 07.09.2016 01:47

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

warren buffet 07.09.2016 10:07

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


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