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

时间:2014-03-03 20:25:24

标签: jquery

我看到变量声明为:

$.root = $("body");

$root = $("body");

两者有什么区别?

3 个答案:

答案 0 :(得分:23)

JavaScript中的函数是对象。和JavaScript中的大多数对象一样,您可以随意添加属性。 $函数就是一个函数。因此,如果你想在它上面弹出一个属性并引用一个jQuery集合或引用,你可以。

通过在$函数中添加集合作为属性,它在当前作用域中的变量少一个。如果你想看看它如何影响函数的地形和(可枚举)属性列表,你可以检查jQuery函数之前和之后的键:

Object.keys($);
// ["fn", "extend", "expando"..."parseHTML", "offset", "noConflict"]

$.root = $("body");
// [<body>]

Object.keys($);
// ["fn", "extend", "expando"..."parseHTML", "offset", "noConflict", "root"]

答案 1 :(得分:11)

$.root = $("body");

这为$ functor添加了一个属性(通常称为jQuery对象,为$ == jQuery)

$root = $("body");

这会在javascript中为“全局”范围添加属性,即 window 对象。 您也可以将后者称为

window.$root

答案 2 :(得分:6)

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