Page 37 - jQuery для начинающих
P. 37

Примеры оптимизаций


             Выбор  по  идентификатору  элемента  –  самый  быстрый  из  возможных,  старайтесь
             использовать оный:


                    // внутри одна регулярочка + getElementById()
                    $("#content")

                    // а вот так ещё быстрее
                    $(document.getElementById("content"))

                    // но экономия незначительна
                    // а удобство использования стремится к нулю

             Селектор  «div#content»  работает  на  порядок  медленнее,  нежели  поиск  лишь  по

             идентификатору – «#content», но и он имеет право на существование в случае, если ваш
             скрипт  используется  на  нескольких  страницах,  а  логика  требует  лишь  обрабатывать
             поведение для элемента «div». Данный селектор можно представить в двух вариантах:


                    // getElementById() + фильтрация
                    $("#content").filter("div");

                    // оставляем как есть и надеемся на QuerySelectorAll()
                    $("div#content");


             В результате тестирования получаем следующий расклад:

                    —  пример  с  использованием  filter()  работает  быстрее  в  браузерах  Chrome,
                       Firefox и IE9.0+
                    —  оба способа работают наравне в браузерах IE8.0 и мобильном Safari
                    —  второй пример работает в два раза быстрее в последних версиях Opera

             Выводы делаем сами.


























                                                                                                         37


                                                                                        www.trk.kg
   32   33   34   35   36   37   38   39   40   41   42