Como é $ ('h1') logar para o console da web como uma matriz no jQuery?
Se você fizerconsole.log($('some selector'))
no navegador, ele retorna o que parece ser uma matriz (primeira linha):
Mas note que não é uminstanceof Array
mas na verdade éajQuery
objeto.
Quando você fazconsole.dir($('h1'))
, mostra que é realmente o objeto jQuery.
A questão é, como eles estão fazendo com que pareça que é uma matriz no console da web? Notei na fonte jQueryAqui eles adicionam referência a alguns métodos Array e Object, eAqui eles adicionamtoArray
(e fatia e outros) para ojQuery
objeto. O console da web está de alguma forma verificando esses métodos e se ele encontrar um (toArray
, indexOf
, slice
, etc.), imprime como uma matriz? Gostaria de obter esse comportamento de qualquer objeto personalizado, como oEmber.ArrayProxy
. Atualmente, quando você registra oEmber.ArrayProxy
isto mostra> Object
ou qualquer outra coisa, mas seria bom mostrar isso como uma matriz.
Alguma ideia?