传递jQuery作为参数

时间:2014-02-07 11:00:28

标签: javascript jquery

如果JQuery确实存在于范围中,它们的行为方式是否相同?

$用于将范围限制在每​​个函数内部我猜,但我不确定为什么。第二个片段是原始代码,我试图在第一个片段中调用之前添加对jquery的检查。

首先:

(function () {
            if (!window.jQuery) {
                alert('Error: JQuery not loaded.');
             return;
            }
            main(jQuery);
        })();
        function main($, undefined) {
            alert("main 1");

            //do some work on $ 

        }

第二

    (function ($) {
        if (!$) {
            alert('Error: JQuery not loaded.');
            return;
        }
        alert("main 2");

        //do some work on $ 

    })(jQuery);

第三(也许这稍微好些一点?):

(function () {
            if (!window.jQuery) {
                alert('Error: JQuery not loaded.');
                return;
            }
            var main = function ($, undefined) {
                alert("main 3");

                //do some work on $ 

            }
            main(jQuery);
        })();

1 个答案:

答案 0 :(得分:0)

这对我来说是最好的解决方案。

(function () {
                if (!window.jQuery) {
                    alert('Error: JQuery not loaded.');
                    return;
                }
                var main = function ($, undefined) {
                    alert("main 3");

                    //do some work on $ 

                }
                main(jQuery);
            })();