gpt4 book ai didi

javascript - 为什么控制台不显示从选择器返回的 jQuery 对象的方法?

转载 作者:行者123 更新时间:2023-12-02 15:31:53 24 4
gpt4 key购买 nike

我知道如果我输入:

$('body');

我得到一个 jQuery 对象。然而,在 chrome 的控制台上,我只能看到 jQuery 对象的内部数组,尽管事实上 jQuery 方法可以像

$('body').hide();

为什么控制台没有向我显示所有可访问的方法以及 jQuery 是如何做到这一点的?

如果只是因为这些方法是在原型(prototype)上定义的,那么为什么我会写下这些行:

function Person(){this.myProp = 'test'};
var person = new Person();
Person.prototype.proto = 'test2';

然后我在 chrome 中检查 person 我会看到:

__proto__:人
构造函数:Person()
原型(prototype):“test2”

但是当检查$('body');时,开发工具上没有显示proto

最佳答案

这些方法位于对象的原型(prototype)上。默认情况下,控制台和 console.log() 都不会在原型(prototype)上显示项目。

如果您在 Chrome 调试器中检查 jQuery 对象,您可以展开原型(prototype),然后可以看到其中的所有方法。

所以,您所看到的只是控制台的所选实现。它显示直接实例属性,而不是原型(prototype)上的项目。

<小时/>

当我将此代码放入页面时:

function Person(){this.myProp = 'test'};
Person.prototype.proto = 'test2';

var person = new Person();
var jq = $("body");

然后,在 Chrome 调试器中检查 personjq,我看到了:

enter image description here

它显示了两个对象的`proto属性。而且,如果我扩展 jQuery 对象的该属性,它确实会显示所有方法。

关于javascript - 为什么控制台不显示从选择器返回的 jQuery 对象的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33246347/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com