"buffer" которой прописывается buffer.clear и "buffer" которой присваивается результат makeBuffer - это две разные переменные, волей кода ссылающиеся на одну конкретную функцию и названные одинаково.
Первая "buffer" как и положено доступна лишь внутри функции makeBuffer, вторая же "buffer" явно задаётся в глобальной области видимости.
Назовите их по-разному и разбирайтесь дальше.)
Что касается области видимости - в js функция захватывает ту область видимости в которой создана, что называется замыканием. Назначена ли она как метод или нет, значения то не имеет.
__________________
29375, 35
Последний раз редактировалось Aetae, 15.10.2018 в 21:11.
|