jQuery(空对象文字)真正做了什么?

时间:2014-03-06 22:43:57

标签: javascript jquery

我遇到了这个article我遇到了以下行:

var o = jQuery({});

如果typeof o显示"object"。但是,安慰时此对象显示:

Object[Object {}]

有人可以尝试解释这里发生了什么吗?

感谢您的时间

1 个答案:

答案 0 :(得分:3)

它只是在jQuery对象中包装一个新的空对象。所有jQuery对象都具有length属性,因此它们看起来像数组。该库还将元素或对象保存为带有数字索引的属性,因此它看起来像一个数组。

因此,在jQuery({})之后,你有一个名为“0”的属性对象,该属性的值是你的新空对象。包装器对象还有一个“length”属性,其值为1.

jQuery库实际上具有相当广泛的支持,可以将其设施包装在普通对象周围。这意味着您可以将事件处理程序附加到普通对象并触发它们,以及其他有趣的事情。