15

它们是 if 的本机属性window吗?为什么它被称为 jQuery,jquery 肯定是在 javascript 之后出现的

编辑:我正在浏览 jquery.js 并发现这两行让我想知道它们的确切含义。如果不是window.Jquery 为null,因为JQuery 不是window 的变量?

_jQuery = window.jQuery,

_$ = window.$,
4

3 回答 3

14

我将从上面评论中链接到的一篇文章中提取:

正如 JavaScript 基础部分所讨论的,JavaScript 中的有效名称几乎可以是任何东西,只要它们不以数字开头并且不包含连字符。因此,上面代码中的 $ 只是 jQuery 函数的一个更短、更方便的名称;实际上,在 jQuery 源代码中,您会在接近尾声时找到:

// Expose jQuery to the global object
window.jQuery = window.$ = jQuery;

当您调用 $() 函数并将选择器传递给它时,您将创建一个新的 jQuery 对象。当然,在 JavaScript 中,函数也是对象,这意味着 $(当然还有 jQuery)也有属性和方法。例如,您可以参考 $.support 属性以获取有关当前浏览器环境支持的信息,并使用 $.ajax 方法发出 AJAX 请求。

基本上,jQuery(当你包含它时)在 window.$ 和 window.jquery 中创建函数。然后为方便起见,它设置 $ 等于这两个 $ 。

于 2013-06-04T16:14:54.693 回答
4

jQuery是一个javascript库

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

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

这些

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

是覆盖情况下的内部映射。您可以使用该功能.noConflict恢复以前的window.$防止与prototype其他库冲突的值

于 2013-06-04T16:12:48.860 回答
2

window是默认/全局对象。任何时候你分配一个 value,并且没有明确说明它将被附加到的对象,那么它将被分配给全局对象的属性,除非有一个局部变量首先将它分配给它(参见第 3 节.b. 的PutValue );

任何全局都将成为它的属性。

于 2013-06-04T16:17:14.537 回答