Dlaczego „$ (). Ready (handler)” nie jest zalecane?

OdStrona docs interfejsu API jQuery dlaready

Wszystkie trzy następujące składnie są równoważne:

$ (dokument) .ready (handler)$ (). ready (handler) (nie jest to zalecane)$ (handler)

Po odrabianiu lekcji - czytanie i zabawa zkod źródłowy, Nie mam pojęcia dlaczego

$().ready(handler) 

nie jest zalecane. Pierwszy i trzeci sposób są dokładnie takie same, trzecia opcja wywołuje funkcję ready na buforowanym obiekcie jQuery za pomocądocument:

rootjQuery = jQuery(document);
...
...

// HANDLE: $(function)
// Shortcut for document ready
} else if ( jQuery.isFunction( selector ) ) {
    return rootjQuery.ready( selector );
}

Ale funkcja gotowości nie ma interakcji z selektorem wybranych elementów węzła, Theready kod źródłowy:

ready: function( fn ) {
    // Attach the listeners
    jQuery.bindReady();
        // Add the callback
    readyList.add( fn );
        return this;
},

Jak widać, wystarczy dodać wywołanie zwrotne do wewnętrznej kolejki (readyList) i nie zmienia ani nie używa elementów w zestawie. Dzięki temu możesz zadzwonić doready funkcja na każdym obiekcie jQuery.

Lubić:

regularny selektor:$('a').ready(handler) PRÓBNYNonsens selektor:$('fdhjhjkdafdsjkjriohfjdnfj').ready(handler) PRÓBNYNiezdefiniowany selektor:$().ready(handler) PRÓBNY

Wreszcie ... do mojego pytania:Czemu$().ready(handler) nie jest zalecane?

questionAnswers(6)

yourAnswerToTheQuestion