Ответ 1
В этом ответе SO говорится: НЕТ:
$(document).ready для обеспечения полной DOM доступен в момент вызова функции. Любые функции и события, не зависящие от DOM, не нужно помещать в готовое событие.
Также - для улучшения скорости рендеринга страницы - загружайте файлы javascript динамически без блокировки: http://berklee.github.com/nbl/ или https://github.com/rgrove/lazyload/
Эта техника работает примерно так:
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "file1.js";
document.getElementsByTagName("head")[0].appendChild(script);
Этот новый элемент загружает исходный файл file1.js. Файл начинает загрузку, как только элемент добавляется на страницу. Важная вещь в этом методе заключается в том, что файл загружается и выполняется без блокировки других процессов страниц, независимо от того, где начата загрузка. Вы даже можете поместить этот код в заголовок документа, не затрагивая остальную часть страницы (кроме одного HTTP-соединения, которое используется для загрузки файла).
в этой книге: "Высокопроизводительный JavaScript" Николаса Закаса содержит массу интересной информации об оптимизации исполнения JavaScript.