Итак, я что-то здесь упускаю?
Все движки JavaScript в популярных современных браузерах (по состоянию на 2011 год) однопоточные .
Это означает, что хотя СОБЫТИЯ могут происходить асинхронно, они все еще находятся в очереди (в «одном файле») для выполнения.
Это означает, что все эти методы для загрузки внешнего javascript на страницу HTML, они на самом деле только для того, чтобы загрузка происходила асинхронно, однако выполнение загруженного кода всегда происходит один (функция) за раз, один файл за раз.
Итак, другие «советы», которые я видел в Интернете, разбивают и выполняют инициализацию блоков кода с помощью setTimeout, что будет фиктивным, неправильным советом - таймер также является очередью из одного файла и выполняется только по порядку. С помощью setTimeout вы просто вызываете неупорядоченное выполнение через таймер и позволяете другим событиям в браузере (например, щелчки мыши или нажатия клавиш и т. Д.) Переходить в очередь - что само по себе может быть полезно, но это, конечно, не асинхронное выполнение кода.
Если я прав, есть куча плохих, неправильно понятых советов, которые слишком часто повторяются.