Jako przykład:W jaki sposób jQuery.ready() traktuje wywołanie samej siebie?
$(function(){
//do stuff
$(function(){
//do other stuff
});
});
Oczywiście napisane w kodzie to wydaje się nie mieć sensu. Jednak wtyczka działająca z elementami HTML może używać .ready() podczas wykonywania samego elementu w głównym .ready(). W jaki sposób jQuery obsługuje to dokładnie? To wyraźnie działa, ale czy robi coś specjalnego?
Is It "natychmiast", jak w _synchronously_ (przed '.ready()' zwrotów)? – nnnnnn
Tak, to jest synchroniczne. Możesz przetestować wykonywanie tego na już załadowanej stronie: jQuery (document) .ready (function() {for (i = 0; i <1000000; i ++) {;}; console.log ("2 ');}); console.log ("1"); –
Otrzymuję to: 'global .ready() START, 0ms; globalny .ready() END, 8ms; plugin .ready()() START, 11ms; plugin .ready() END, 12ms'. Rezultat jest stały niezależnie od tego, czy wywołam wtyczkę na początku, czy na końcu globalnego .ready. Tak więc wywołanie wewnątrz wtyczki wydaje się być ustawione w kolejce po wykonaniu już wykonywanego .ready, z którego jest wywoływane – Armatus