可能重复:
What makes a jQuery object show up as an array in Chrome's Developer Tools?
我想知道为什么在javascript控制台中出现这种行为:
在这个例子中,一切都很清楚:
var obj = {find: function () {}}
obj // Object { find=function()}
obj.find // function()
在下面的示例中,我想了解一下$.fn
我希望$ .fn的输出像一个包含键和值的Object,但是......
$.fn // [] // ***************** freaky part ****************
$.fn.find // function()
答案 0 :(得分:3)
$.fn
同时具有length
和splice
属性,这会让控制台误认为它是一个数组。
> $.fn
[]
> delete $.fn.length // or delete $.fn.splice
true
> $.fn
Object
答案 1 :(得分:-2)
$('body').find('div') //<-- that's a prototyped method of the object that $ returns