将$绑定到jQuery的更好方法

时间:2012-09-09 21:12:33

标签: jquery standards

要确保$始终引用jQuery,我会采用以下格式进行编码:

方法#1

(function($) { // Use $ here })(jQuery);

根据我的理解,我们立即调用我们创建的函数,并将jQuery传递给它并在$中捕获它,以便$始终引用jQuery }。最安全的方式是,jQuery插件以这种方式编码。

现在,我看到一些开发人员使用以下格式进行编码,这似乎工作得很好但是想确认它是否正确&安全,因为我不明白它是如何工作的。

方法#2

jQuery(document).ready(function($) { // Use $ here });​

因此,在这个方法中,直接使用jQuery来调用文档就绪函数,这是正常的,但然后将$传递给它,现在我们无法确定它将引用jQuery只是,对吗?就像在页面上的jQuery之后加载Prototype一样,然后这个$将引用原型而不是jQuery。

因此,简而言之,两种方法都安全吗?如果是的话,如何以及哪一个更好?

2 个答案:

答案 0 :(得分:2)

两者都是安全的;传递给ready的函数的jQuery will pass itself as the argument

它们都适用于不同的事物。当您希望代码立即执行而不是等待文档准备好时,第一个更合适。当您想要在文档准备好时执行代码时,后者更合适。

答案 1 :(得分:2)

这两种方法都是安全的。如果您希望代码在DOM准备就绪后立即执行,请使用后者;如果您想立即运行代码,请使用第一种方法。

您可能希望将其组合起来:

(function($) {
    // code that runs immediately

    $(document).ready(function() {
        // code that runs when the DOM is ready
    });
})(jQuery);