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