Пример повторного выделения переменной можно найти в Google Analytics . Когда код отслеживания JavaScript инициируется скриптом Google Analytics, он объявляет или повторно объявляет _gaq
следующим образом:
var _gaq = _gaq || [];
Другими словами, если _gaq
уже определено, _gaq
переименовывается как само по себе. Если он не определен, он будет впервые объявлен как пустой массив.
Это позволяет коду отслеживания Google Analytics поддерживать другие сценарии, которым может потребоваться использовать переменную до инициализации кода Google Analytics. Как отметил @xralf, JavaScript допускает это.
Переопределение переменной полезно в ситуациях, когда невозможно узнать, была ли переменная уже определена.
Путем условного повторного выделения переменной, как это делает код отслеживания Google Analytics, она позволяет безопасно генерировать переменную из нескольких мест.
В этом примере может быть безопасно для другого кода, использующего переменную _gaq
, аналогично проверять предопределенную переменную _gaq
. Если он существует, он знает, что может его использовать. Если он не существует, он знает, что должен определить его, прежде чем пытаться его использовать.