В качестве соглашения о стиле я предпочитаю быть явным при доступе к переменным в глобальной области видимости, предпочитая
window.example = "Hello";
window.alert(window.example);
менее подробному
example = "Hello";
alert(example);
Теперь у меня есть модуль, который можно использовать непосредственно из браузера или, если они доступны, из веб-воркеров.В веб-воркерах глобальный объект называется self
, а в браузере он называется window
.
Объект window
имеет свойство self, поэтому self.example = "Hello"
будет работать в обоих контекстах, пока никто не повторно объявит self
(как они часто делают: var self = this).
Какое соглашение лучше использовать?
self
и надейтесь, что никто не объявит конфликтующую self
.window
, используйте window
, иначе используйте self
.Подумав, я склоняюсь ко второму.