我看到变量声明为:
$.root = $("body");
和
$root = $("body");
两者有什么区别?
答案 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的变量在右侧具有值。