window.jQuery 和 window.$ 是什么意思?

18

如果是,它们是否是window的本机属性?那么为什么它被称为jQuery呢?毕竟jQuery是在JavaScript之后出现的。

编辑:我正在查看jquery.js,发现这两行代码让我对它们的确切含义产生了疑惑。如果JQuery不是window的变量,那么window.JQuery不应该为空吗?

_jQuery = window.jQuery,

_$ = window.$,

我建议你查看这篇文章,以了解更多关于基础jQuery的知识。http://jqfundamentals.com/chapter/jquery-basics。希望能对你有所帮助! - David Ziemann
https://dev59.com/uWgv5IYBdhLWcg3wCcWZ - user2354690
3个回答

16
我将引用我在上面评论中链接的文章:
正如“JavaScript基础”部分所讨论的那样,在JavaScript中,有效的名称可以是几乎任何东西,只要它们不以数字开头且不包括连字符。因此,上面代码中的$只是jQuery函数的缩写、更方便的名称;实际上,在jQuery源代码中,你会发现这个:$ = jQuery;
// Expose jQuery to the global object
window.jQuery = window.$ = jQuery;
当您调用$()函数并传递一个选择器给它时,您创建了一个新的jQuery对象。当然,在JavaScript中,函数也是对象,这意味着$(和当然还有jQuery)也有属性和方法。例如,您可以引用$.support属性以获取有关当前浏览器环境支持的信息,并使用$.ajax方法进行AJAX请求。 基本上, jQuery(在您包含它时)会在window.$和window.jquery上创建函数。然后将$设置为这两个函数,以便于方便使用$。

所以在JavaScript中声明全局变量,你必须像这样做:window.myVariableName - 124697
2
一个全局变量可以声明为myVariable。它会绑定到window.myVariable,并且可以使用myVariable和window.myVariable两种方式访问。 - David Ziemann

4

jQuery是一个JavaScript库。

jQuery是一个快速、小巧且功能丰富的JavaScript库。它通过易于使用的API,使HTML文档遍历和操作、事件处理、动画和Ajax等事情变得更加简单,可在多种浏览器上运行。jQuery结合了多样性和可扩展性,改变了数百万人编写JavaScript的方式。 http://jquery.com/

一旦您将脚本包含在页面中,它将在全局上下文(窗口)中创建对象jQuery$。它不是本地的。

这些内容

_jQuery = window.jQuery,    
_$ = window.$,

在覆盖的情况下,内部映射会发生变化。您可以使用函数.noConflict来恢复先前的window.$值,防止与prototype和其他库发生冲突。


2
"window" 是默认的/全局对象。任何时候你赋值并且没有明确指定要附加到哪个对象,那么它将被分配给全局对象的属性,除非有一个本地变量首先可以分配它(参见PutValue的第3.b节);
任何全局都将是它的属性。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接