如何识别变量的对象类型?

时间:2012-05-13 12:47:03

标签: javascript jquery debugging

我正在尝试在Chrome的Javascript控制台中学习调试Javascript。但是,我不明白控制台如何显示对象的数据类型。例如,在Javascript控制台中,它显示了:

enter image description here

在这张图片中,我使用的是JQuery。我尝试在一些变量上做console.log,但我怎么知道特定变量是JQuery对象还是原始DOM对象? HTMLDivElement或显示控制台中列出的div标记的另一个是JQuery对象还是原始DOM对象?

一般情况下,如何在调试器控制台(如Chrome的Javascript控制台)中知道Javascript中对象或变量的数据类型?在Java等语言中,变量的数据类型在调试器中清楚地显示出来;我可以从调试器知道变量是什么类型的对象,它是Class A的实例还是Class B的实例等等。

4 个答案:

答案 0 :(得分:4)

if (variable instanceof jQuery) // Or variable.jquery 
    // jQuery object.

Live DEMO

MDN上的

instanceof个文档:

  

instanceof运算符测试对象在其原型链中是否具有构造函数的prototype属性。


jQuery检查DOM元素的方式是nodeType

// Handle $(DOMElement)
if ( selector.nodeType ) {

jQuery检查jQuery对象的方式是使用jquery属性:

// HANDLE: $(expr, $(...))  
else if ( !context || context.jquery ) {

答案 1 :(得分:3)

这些都是jQuery对象。

控制台将它们识别为包含DOM元素的类数组对象。

答案 2 :(得分:0)

如果转到脚本标签,则可以在调试器中查看类型 然后在右侧按观看表达式下的 + 标志并添加您喜欢的任何内容。
inspector

答案 3 :(得分:0)

JQuery对象实际上是DOM元素的数组,Weile DOM元素只是DOM元素。