скрипты (сейчас функции), они как бы распаковываются в тот код, где их вызываешь, за счёт чего они имеют доступ к любым не локальным переменным, но к тем что принадлежат "объекту", они всегда имеют доступ, о локальных они попросту не знают еще при раскаковке