我正在尝试学习在 Chrome 的 Javascript 控制台中调试 Javascript。但是,我不明白控制台如何显示对象的数据类型。例如,在 Javascript 控制台中,它显示如下:
在这张图片中,我使用的是 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.
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/