Javascript 在IIFE之外访问jQuery变量

Javascript 在IIFE之外访问jQuery变量,javascript,jquery,Javascript,Jquery,我试图研究jquery是如何工作的,我有一个关于iLife的问题 iLife中的jQuery wrap,为什么我们仍然可以在iLife之外使用var jQuery这个变量?因为在源代码的末尾有一行将其分配给全局窗口空间: (function( global, factory ) { var jQuery = function( selector, context ) { return jQuery; })); jQuery('body').click(); 所以,当我们创建

我试图研究jquery是如何工作的,我有一个关于iLife的问题


iLife中的jQuery wrap,为什么我们仍然可以在iLife之外使用var jQuery这个变量?

因为在源代码的末尾有一行将其分配给全局窗口空间:

(function( global, factory ) {
    var jQuery = function( selector, context ) {

    return jQuery;
}));

jQuery('body').click();

所以,当我们创建自己的函数时,你建议我们也这样做吗?这取决于你在做什么。通常,您希望避免污染全局名称空间
window.jQuery = window.$ = jQuery;