Я думаю, что ваш вопрос состоит из двух частей.
Во-первых, JSONP, по сути, не относится к динамическим тегам сценариев, скорее динамические теги сценариев - это техника, используемая рука об руку с JSONP.
JSONP - это метод, который позволяет сайту загружать контент из доменов, отличных от ORIGIN, используя толерантность браузера к тегам SCRIPT с src, указывающим на внешние домены. (Вы должны знать это, пройдя по ссылкам, приведенным в других ответах).
С другой стороны, динамические теги SCRIPT обеспечивают асинхронную природу для любого сценария, будь то JSONP или иным образом.
Дело в том, что всякий раз, когда браузер нажимает на тег SCRIPT в документе, он останавливает большинство других операций (особенно рендеринг DOM) до тех пор, пока этот скрипт не будет загружен. Это влияет на восприятие пользователями того, насколько отзывчивым является сайт. Эффект от этого еще хуже, если скрипт не вносит непосредственного вклада в основной контент сайта (такой как Google Ads, Tweets или Facebook Timeline (если вы не Марк Z.: P) и т. Д.)
Чтобы избежать этой проблемы, вы можете вставлять динамические теги SCRIPT на страницу, когда она полностью загружена в браузере (т.е. событие готово / загружено). Затем браузер автоматически загрузит новый сценарий, но у пользователя есть полная (почти) страница, созданная для него, что создает впечатление быстрой загрузки. В этом смысле динамические сценарии могут быть асинхронными при загрузке страницы.
Однако на практике большинство сценариев, используемых таким образом, являются сценариями JSONP, расположенными в разных доменах, хотя это и не является обязательным требованием.
Надеюсь, это имеет смысл.
Для загрузки TRUE асинхронного скрипта вы должны обратиться к атрибуту HTML5 sync :