При каких условиях вы можете использовать Javascript вместо использования $ (function () {...})? - PullRequest
0 голосов
/ 10 апреля 2011

Я почти всегда использую последнее на своих страницах, но кажется, что вы часто не можете этого сделать, если вы просто получаете доступ к элементам, которые отображаются на странице над сценарием. Это правда во всех браузерах? Я надеюсь получить наименьшую возможную задержку, поэтому было бы неплохо, если бы она могла начать выполняться до того, как будет запущено полное событие готовности DOM, поскольку я принудительно очищаю страницу, когда она генерируется, и мой Javascript только когда-либо ссылается на уже созданные элементы или использует такие вещи, как JQuery в прямом эфире и делегат.

1 Ответ

1 голос
/ 10 апреля 2011

Я недавно реализовал этот фрагмент кода, потому что мы прекратили поддержку IE6.

<!--[if IE6]><!-->
    jQuery.noConflict(true);
    $ = new Function;
<!--<[endif]-->

Поскольку мы использовали $(function() { ... }) последовательно для запуска любого встроенного JavaScript, это закрыло весь наш код JavaScript.

Вы можете найти это полезным. Я не вижу в этом никакого недостатка, кроме возможности сэкономить 11 байтов, вставляя код без обработчика готовности jQuery.

Давайте не будем забывать, что вы получаете бесплатное закрытие от использования $(...), и это позволяет вам не загрязнять глобальный охват.

использование обработчиков DOM ready - отличный шаблон кода, и удаление их по причинам, которые вы упомянули, является микрооптимизацией, которая должна быть оправдана как узкое место перед удалением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...