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

时间:2013-06-04 16:09:02

标签: javascript jquery

它们是window的原生属性,如果是这样,为什么它被称为jQuery,肯定jquery来自javascript

编辑:我正在浏览jquery.js,发现这两条线让我想知道它们究竟是什么意思。如果不是window.Jquery为null,因为JQuery不是窗口的变量?

_jQuery = window.jQuery,

_$ = window.$,

3 个答案:

答案 0 :(得分:10)

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

  

正如JavaScript基础知识部分所述,JavaScript中的有效名称几乎可以是任何内容,只要它们不以数字开头且不包含连字符即可。所以,上面代码中的$只是jQuery函数的一个更简单,更方便的名称;事实上,在jQuery源代码中,你会发现它接近结尾:

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

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

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

答案 1 :(得分:4)

jQuery是一个javascript库

  

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

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

这些

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

是否覆盖时是内部映射。您可以使用函数.noConflict恢复先前的window.$值,以防止与prototype和其他库发生冲突

答案 2 :(得分:2)

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

任何全球性都将成为它的财产。