我正在尝试在Chrome的Javascript控制台中学习调试Javascript。但是,我不明白控制台如何显示对象的数据类型。例如,在Javascript控制台中,它显示了:
在这张图片中,我使用的是JQuery。我尝试在一些变量上做console.log
,但我怎么知道特定变量是JQuery对象还是原始DOM对象? HTMLDivElement
或显示控制台中列出的div
标记的另一个是JQuery对象还是原始DOM对象?
一般情况下,如何在调试器控制台(如Chrome的Javascript控制台)中知道Javascript中对象或变量的数据类型?在Java等语言中,变量的数据类型在调试器中清楚地显示出来;我可以从调试器知道变量是什么类型的对象,它是Class A
的实例还是Class B
的实例等等。
答案 0 :(得分:4)
if (variable instanceof jQuery) // Or variable.jquery
// jQuery object.
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)
如果转到脚本标签,则可以在调试器中查看类型
然后在右侧按观看表达式下的 + 标志并添加您喜欢的任何内容。
答案 3 :(得分:0)
JQuery对象实际上是DOM元素的数组,Weile DOM元素只是DOM元素。