Когда оба файла включены в страницу, все, что объявлено с помощью var вне любого объекта, включается в глобальное пространство имен и может быть доступно в любом месте. Вы сможете легко получить доступ к fooMYNS из любой точки вашей страницы.
Проверьте этот другой вопрос / ответ: Как мне объявить пространство имен в JavaScript?
Однако очень хороший способ, которым я видел явное объявление того, что должно быть передано, исходит из node.js и хорошо реализован в Coffeescript Как описано здесь: Как определить глобальные переменные в CoffeeScript
root = exports ? this
root.foo = -> 'Hello World'
Coffeescript автоматически упаковывает все отдельные файлы в замыкание, что действительно помогает вам не загрязнять глобальное пространство имен javascript. В результате это заставляет вас использовать идиому выше, чтобы ТОЛЬКО выставлять именно тот API, который вы хотите.
Приведенный выше код сначала проверяет экспорт (глобальный node.js), в противном случае использует область закрытия (this) и явно присоединяет метод (foo) к этому глобальному пространству.
Теперь в любом другом файле foo
будет доступен глобально, но все остальное, не сделанное явно глобально, не будет.