3

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

在此处输入图像描述

在这张图片中,我使用的是 JQuery。我尝试对console.log一些变量进行操作,但我如何知道特定变量是 JQuery 对象还是原始 DOM 对象?显示控制台中列出的标记的那个或另一个是 JQuery 对象还是原始 DOM对象HTMLDivElementdiv

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

4

4 回答 4

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

现场演示

instanceofMDN上的文档:

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


jQuery 检查 DOM 元素的方式是nodeType

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

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

// HANDLE: $(expr, $(...))  
else if ( !context || context.jquery ) {
于 2012-05-13T12:50:51.030 回答
3

这些都是 jQuery 对象。

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

于 2012-05-13T12:49:27.597 回答
0

如果您转到“脚本”选项卡,则可以在调试器中查看类型。
然后在右侧按Watch Expressions下的+号并添加您喜欢的任何内容。
检查员

于 2012-05-13T12:55:50.747 回答
0

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

于 2012-05-13T12:59:31.847 回答