Опция 1 - синхронное включение.Этот javascript будет прочитан, проанализирован и выполнен перед любым следующим javascript.
Опция 2 - это асинхронное включение.Он загружается асинхронно и не имеет гарантированного времени по сравнению с другими скриптами на странице.Это имеет преимущество в том, что остальная часть страницы не ожидает ее загрузки или выполнения, но недостатком является то, что любой, кто пытается использовать ее, должен знать, когда она была успешно загружена.Конкретный пример, который вы показываете для варианта 2, относится к Google Analytics, который является автономным и не зависит от чего-либо еще на странице, поэтому имеет смысл быть асинхронным и не заставлять что-либо еще на странице ждать его загрузки.
Опция 3 по-прежнему синхронна (как вариант 1), но немного запутывает включение скрипта, что вводит в заблуждение некоторые фильтры, которые могут пытаться отфильтровать конкретный скрипт.Это также позволяет вам использовать свой собственный javascript, чтобы решить, какие сценарии включать или откуда их включать, но включать их синхронно.Вы также можете использовать свой собственный javascript для манипулирования протоколом (http / https) или доменом, если есть какая-либо причина для этого на странице загрузки.