drack3800
-
Posts
4 -
Joined
-
Last visited
Content Type
Profiles
Forums
Calendar
Store
Posts posted by drack3800
-
-
$(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();Вообще не равнозначная замена. Тут надо читать с конца. Последние скобки () говорят, что нужно выполнить вызов функции. Идем левее - видим еще одни скобки (), которые говорят нам, что это группировка выражения, и нам нужно взять значение вычисления этого выражения. А значением будет ссылка на анонимную функцию, экземпляр которой создается внутри скобок.
Можно попонятнее, пожалуйста? Что такое группировка выражения?
-
zlodeev, а чем это отличается от
$(document).ready(function() { /* code here */ });? А какая разница, писать так
(function() { /* code here */ })();или так
(function($) { /* code here */ })(jQuery);, когда в обоих случаях, насколько я видел, можно обращаться в коде функции к jQuery любым способом.
-
Смотрел курс по jQuery от tuts+ и там оборачивали код в такую конструкцию:
(function() { /* код */ })();Перевести речь не смог, а текста к этому уроку не было.
Также встретил это в уроке по созданию таймера здесь. Скажите, пожалуйста, чем эта конструкция отличается от кода без ее присутствия? В инете нигде на нашел про это информацию, а если где-то и есть такое, то записывается как очевидное и не поясняется.
Что такое (function(){})()
in JavaScript
Posted
На этапе создания самого объекта? Насколько я понимаю, он создается при загрузке исходников jQuery на страничку? Можно поподробнее про создание и про window?!