в данном примере я могу изменить имя buffer.clear = func... например на method = func...
А после вызвать method() из глобальной области видимости и произойдет тоже самое. Вы бы не могли объяснить механику, почему так происходит? Ведь в названии метода нет никакой привязки к функции в которой он создан.
Выходит, что все методы которые мы создаем в функциях доступны в глобальной области видимости под любым именем. Т.е. мы можем таким образом вызвать любой метод в любом месте когда, а сам метод уже будет оперировать той областью видимости которая была у функции в которой он был создан?
|