javascript - js 控制台是否破坏了 jquery $() 函数?

标签 javascript jquery

我正在学习 jquery 并在 chrome js 控制台中使用它。

我使用 js 控制台主要是为了查看 js 对象,因为它在一个简洁的小选择列表中显示所有属性、方法和继承的内容。

也许我在这里误解了一些东西,但是当我在控制台中运行 $(document) 时,它只是返回了文档 dom 对象。我希望能看到一个带有一堆美味 jquery 方法和属性的 js 对象。我的想法是 jquery 将传递给 $() 函数的 dom 元素包装在一个对象中,控制台将输出该对象供我细读。

然后我发现控制台有一个 $() 函数用于返回对 dom 对象的引用。是否使用该函数而不是 jquery 函数?我有一种感觉,我不明白这是如何工作的。

最佳答案

不,jQuery 会破坏控制台的 $ 功能。使用 $ == jQuery 检查它。

如果您想检查 jQuery 对象而不是 DOM 元素,请尝试 dir($(document))。所有有趣的东西都在 __proto__ 中。

does $(document) just return a dom object by default or does the console see a dom object in a javascript object and remove it? Still confused about how the console and javascript work together.

$是jQuery时,$(document)返回一个length为1且window. document 位于索引 0 处。请注意,该对象实际上不是一个数组,它只是一个数组,Chrome 将其显示为一个数组;在这种情况下,单个“数组元素”显示在两个括号之间。您可能只是没有注意到括号,而只看到它们之间的单个元素。

Apparently ,任何具有引用 Array.prototype.splicesplice 属性和数字 length 属性的对象都足以让 Chrome 显示为“类似数组”它作为一个数组。您可以通过在控制台中输入类似 {splice: Array.prototype.splice, 0: 'blah', length: 1} 的内容来测试这一点;它将显示为["blah"]。使用 console.dir 来避免这种情况。

关于javascript - js 控制台是否破坏了 jquery $() 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20808140/

相关文章:

javascript - 如何防止页面刷新时数据丢失?

javascript - jQuery 连接线

javascript - jointjs元素鼠标点击事件

javascript - 在 Canvas 上绘制图像 HTML5 错误

javascript - 在 JavaScript 和 PHP 之间传递语言字符

javascript - 使用 HTML5、JS 和 Node js 进行多人绘图

jquery - 重构 jQuery 代码块?

php - jquery加载间隔div flash

jquery - 单个字符的选择器占位符

javascript - jQuery 滚动条问题