Прошло несколько лет с тех пор, как об этом спросили, но для всех, кто находит себя здесь и любопытным, я довольно долго делал вариант № 1. Кроме того, Nike Plus делает это также. Когда страница загружается, Nike устанавливает window.np = {}
Я никогда не находил конвенции, которую люблю, но я пробовал:
window.data
window.app.data
(по мотивам Symfony буквально использует атрибут app
)
window.[app_name].data
(по мотивам Nike Plus)
window.initData
(по мотивам Google +)
В моем случае я перезаписываю эти объекты JS моделями / коллекциями Backbone при загрузке основного приложения Backbone.