如果您console.log($('some selector'))在浏览器中执行此操作,它会返回一个看起来像数组的内容(第一行):

但请注意,它不是 a instanceof Array,而是实际上是jQueryobject。
当你这样做时console.dir($('h1')),它表明它实际上是 jQuery 对象。
问题是,他们如何让它看起来像是 Web 控制台中的一个数组?我注意到这里的 jQuery 源代码中他们添加了对一些 Array 和 Object 方法的引用,并且在这里他们向对象添加了toArray(以及 slice 和其他方法)jQuery。Web 控制台是否以某种方式检查这些方法,如果找到一个(、、、toArray等indexOf)slice,它会将其打印为数组?我想从任何自定义对象(例如Ember.ArrayProxy. 当前,当您记录Ember.ArrayProxy它显示的内容> Object或其他内容时,最好将其显示为数组。
有任何想法吗?