Функция ready теперь не нужна?

Начиная с версии 3.0 как указано в документации jQuery, функцию ready теперь не нужно использовать, хотел как раз по этому поводу спросить, правда ли можно заменить ready на $() ?

Пример:

$(document).ready(function () { 
  console.log('DOM загружен с помощью ready!'); 
});

$(function () {
  console.log('DOM загружен с помощью $()!');
});

А также можно ли вызывать прямо функцию с помощью данного метода?

Пример:

function hi(text) {  
  console.log(text);  
}  
$(hi('123'));

Ответы (1 шт):

Автор решения: Grundy

Если посмотреть исходники в них явно указано, что в случае если передается функция: $(fn) - будет вызвана функция ready с переданным параметром. Такое поведение было еще во второй версии.

Поэтому разницы вызывать .ready(fn) или $(fn) - нет.


А также можно ли вызывать прямо функцию с помощью данного метода?

Нет, нельзя, так как аргументы переданные в функцию вычисляются до запуска функции и следующая запись

$(hi('123'));

эквивалентна

var hiResult = hi('123');
$(hiResult);
→ Ссылка