Глобально определенные контроллеры AngularJS и инкапсуляция

В соответствии с руководством AngularJS, функция контроллера просто находится в глобальной области видимости.

http://docs.angularjs.org/tutorial/step_04

Сами функции контроллера автоматически разбираются в инкапсулированную область или они находятся в глобальной области? Я знаю, что им передается ссылка на их собственную область $, но похоже, что сами функции просто находятся в глобальной области видимости. Очевидно, что это может вызвать проблемы в будущем, и я научился на своем опыте и образовании инкапсулировать. Более того, если они живут в глобальном масштабе, не будет ли считаться наилучшей практикой инкапсулировать их в объект, на который будет ссылаться подобное :

    Object.functionName();

Вместо этого:

    functionName();

Чтобы предотвратить проблемы, возникающие при загрязнении глобальной области действия (т. Е. Переопределение функций и т. Д.)

Ответы на вопрос(2)

Ваш ответ на вопрос