Jump to content

drack3800

Newbie
  • Posts

    4
  • Joined

  • Last visited

Posts posted by drack3800

  1. Объект jQuery объявляется глобальным на этапе создания, т.к. он является свойством window.

    На этапе создания самого объекта? Насколько я понимаю, он создается при загрузке исходников jQuery на страничку? Можно поподробнее про создание и про window?!

  2. $(document).ready(function() { /* code here */ });

    Тут анонимная функция обратного вызова (callback) запустится при наступлении события DOMContentLoaded, т.е. когда закончится построение DOM-дерева.

    (function() { /* code here */ })();

    Это просто анонимная функция, которая к jQuery не имеет никакого отношения. Эта функция запустится сразу же после создания.

    (function($) { /* code here */ })(jQuery);

    Это тоже самое, что и предыдущий пример, только в функцию при вызове передали параметр. Этим параметром является объект jQuery, который, благодаря тому, что его передали в функцию, становится доступен внутри тела функции.

    Если интересно прочитайте эту небольшую заметку.

    Вы хотите этим сказать, что внутри этой функции

    (function() { /* code here */ })();

    я не смогу обратиться к объекту jQuery? В уроке от tuts+ парень спокойно обращается и всё работает. А значит я снова не уловил разницу между этими двумя вариантами(с передачей объекта и без передачи). За заметку спасибо!

    (function() { /* код */ })()

    Это укороченный вариант вызова функции. Т.е. просто функция сразу же запустится.

    То же самое, что


    function test(){
    /* code here */
    }
    test();

    Вообще не равнозначная замена. Тут надо читать с конца. Последние скобки () говорят, что нужно выполнить вызов функции. Идем левее - видим еще одни скобки (), которые говорят нам, что это группировка выражения, и нам нужно взять значение вычисления этого выражения. А значением будет ссылка на анонимную функцию, экземпляр которой создается внутри скобок.

    Можно попонятнее, пожалуйста? Что такое группировка выражения?

  3. zlodeev, а чем это отличается от


    $(document).ready(function() { /* code here */ });

    ? А какая разница, писать так


    (function() { /* code here */ })();

    или так


    (function($) { /* code here */ })(jQuery);

    , когда в обоих случаях, насколько я видел, можно обращаться в коде функции к jQuery любым способом.

  4. Смотрел курс по jQuery от tuts+ и там оборачивали код в такую конструкцию:


    (function() { /* код */ })();

    Перевести речь не смог, а текста к этому уроку не было.

    Также встретил это в уроке по созданию таймера здесь. Скажите, пожалуйста, чем эта конструкция отличается от кода без ее присутствия? В инете нигде на нашел про это информацию, а если где-то и есть такое, то записывается как очевидное и не поясняется.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy