W jaki sposób $ ('h1') loguje się do konsoli internetowej jako tablica w jQuery?

Jeśli zrobiszconsole.log($('some selector')) w przeglądarce zwraca to, co wygląda jak tablica (pierwsza linia):

Ale zauważ, że to nie jestinstanceof Array, ale tak naprawdę jestjQuery obiekt.

Kiedy to zrobiszconsole.dir($('h1')), pokazuje, że faktycznie jest to obiekt jQuery.

Pytanie brzmi, jak to sprawia, że ​​wygląda jak tablica w konsoli internetowej? Zauważyłem w źródle jQuerytutaj dodają odwołanie do kilku metod Array i Object, oraztutaj dodajątoArray (i pokroić i inne) dojQuery obiekt. Czy konsola internetowa w jakiś sposób sprawdza te metody i jeśli je znajdzie (toArray, indexOf, sliceitd.), wypisuje go jako tablicę? Chciałbym usunąć to zachowanie z dowolnego obiektu niestandardowego, takiego jakEmber.ArrayProxy. Obecnie po zalogowaniu sięEmber.ArrayProxy to pokazuje> Object lub cokolwiek, ale byłoby miło pokazać go jako tablicę.

Jakieś pomysły?

questionAnswers(1)

yourAnswerToTheQuestion