(function(){
    var jQuery = function() {
        // 函数体
    }
    jQuery.fn = jQuery.prototype = {
        // 扩展原型对象
        jquery: "1.8.3",
        test: function() {
            console.log('test');
        }
    }
    window.jQuery = window.$ = jQuery;
})();(new jQuery()).test();
为什么要用一个()将function(){}括起来?(function(){})后面为什么还要加()window.jQuery = window.$ = jQuery;这个是什么,从右到左连续赋值?为什么没有变量符号?

解决方案 »

  1.   

    1、匿名函数
    2、window.$ = jQuery; window.jQuery=window.$;//不推荐这么写,不易于阅读
      

  2.   

    (function(){})();
    这个是匿名函数,马上执行。window.jQuery = window.$ = jQuery;就是赋值,没有var就是全局变量啦。
      

  3.   

    (function(){})();
    使用匿名函数实现代码封装,后面的()表示立即执行
    window.jQuery = window.$ = jQuery; 是将jQuery对象赋值给window.$和window.jQuery,表示可以通过$或者jQuery 调用匿名函数中定义的jQuery类