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

标签 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 的实例等。

最佳答案

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

Live DEMO

instanceof 关于 MDN 的文档:

The instanceof operator tests whether an object has in its prototype chain the prototype property of a constructor.


jQuery 检查 DOM 元素的方式是使用 nodeType:

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

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

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

关于javascript - 如何识别变量的对象类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10571833/

相关文章:

c++ - 调试断言失败 C++

visual-studio - 针对Visual Studio多个版本的DebuggingVisualizer

javascript - 每次在单击事件期间加载页面时,jQuery 对话框模式都会打开

JavaScript 密码和用户名验证

javascript - 有没有办法获取表单元素及其相关值

jquery - Internet Explorer 通过半透明的 div 背景截取文本

c++ - Visual Studio 2015 调试 : How to stay within my own program only

javascript - 检查每行的第一个单词是否包含特定字符

javascript - 如何使用客户端 JS 根据现有文本从 Google 的 Cloud Natural Language API 获取 JSON?

jquery - 如何使用 jQuery 动态创建下拉列表?