在jQuery中声明变量时,美元符号后的点是什么意思?

在jQuery中声明变量时,美元符号后的点是什么意思?,jquery,Jquery,我看到变量声明为: $.root = $("body"); 及 两者之间的区别是什么?第一个是在jquery中创建一个名为root的属性并设置其值。第二个是定义名为$root的变量的值在右边。JavaScript中的函数是对象。和JavaScript中的大多数对象一样,您可以任意向它们添加属性。$函数就是这样一个函数。因此,如果您想将属性弹出到它并引用jQuery集合或引用,您可以 通过将集合作为属性添加到$函数中,它在当前范围内减少了一个变量。如果希望了解jQuery函数对函数的拓扑结构和(

我看到变量声明为:

$.root = $("body");


两者之间的区别是什么?

第一个是在jquery中创建一个名为root的属性并设置其值。第二个是定义名为$root的变量的值在右边。

JavaScript中的函数是对象。和JavaScript中的大多数对象一样,您可以任意向它们添加属性。
$
函数就是这样一个函数。因此,如果您想将属性弹出到它并引用jQuery集合或引用,您可以

通过将集合作为属性添加到
$
函数中,它在当前范围内减少了一个变量。如果希望了解jQuery函数对函数的拓扑结构和(可枚举)属性列表的影响,可以在前后检查jQuery函数的键:

Object.keys($);
//[“fn”、“extend”、“expando”…“parseHTML”、“offset”、“noConflict”]
$.root=$(“正文”);
// []
对象。键($);
//[“fn”、“extend”、“expando”…“parseHTML”、“offset”、“noConflict”、“root”]
这将向$functor(通常称为jQuery对象,如$==jQuery)添加一个属性

这将向“全局”范围(javascript中的窗口对象)添加一个属性。 您也可以将后者称为

window.$root

基本上:
var a=1
变量x={};x、 a=1“…当前范围内少了一个变量…”。仍然不清楚为什么更好,或者什么时候更好,什么时候不更好。@CraigHicks由于范围中没有
root
var,您就没有机会将其与以后可能引入的任何其他
root
var相冲突。老实说,我不认为有什么好的理由去做我上面的建议,特别是因为我们现在有了
let
。我只是因为作者的要求才展示它。谢谢你的回复——不知何故,直到你提到它之前,我都没能了解到“let”!我曾担心,一旦把“$”用作存储空间的秘密泄露出去,游客就会蜂拥而至——但现在我不必担心,
$.root = $("body");
$root = $("body");
window.$root