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