【问题标题】:What does window.jQuery and window.$ mean?window.jQuery 和 window.$ 是什么意思?
【发布时间】:2013-06-04 16:09:02
【问题描述】:

它们是window 的原生属性吗?如果是,为什么叫 jQuery,jquery 肯定是在 javascript 之后出现的

编辑:我在浏览 jquery.js 时发现了这两行,这让我想知道它们到底是什么意思。如果 JQuery 不是 window 的变量,window.Jquery 不是 null 吗?

_jQuery = window.jQuery,

_$ = window.$,

【问题讨论】:

标签: javascript jquery


【解决方案1】:

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

正如 JavaScript 基础部分所讨论的,JavaScript 中的有效名称几乎可以是任何名称,只要它们不以数字开头且不包含连字符即可。因此,上面代码中的 $ 只是 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 的操作?
  • 全局变量可以声明为 myVariable。它绑定到 window.myVariable,并且可以使用 myVariable 和 window.myVariable 访问
【解决方案2】:

jQuery 是一个 JavaScript 库

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

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

这些

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

是覆盖情况下的内部映射。可以使用.noConflict函数恢复window.$之前的值,防止与prototype等库发生冲突

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-12
      • 2023-03-08
      • 2023-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多