0

在 jQuery 中有多种编写文档就绪事件的方法。那么以下语法中的哪一个是编写文档就绪事件的更正确方法以及原因。

1)

jQuery(document).ready(function(){
});

2)

jQuery(function(){
});

3)

jQuery(function($){
});
4

7 回答 7

1

我认为会

jQuery(document).ready(function($) {

});

这避免了与其他库的冲突

请参阅以供参考

于 2013-05-28T05:17:00.897 回答
0

我一直使用#1,它每次都有效,因为只有那个甚至调用了该.ready函数。

于 2013-05-28T05:13:44.233 回答
0

$(handler) 但这并不重要

于 2013-05-28T05:15:42.593 回答
0

$(document).ready(function(){ }); 是最常见和推荐的方式。其他好处是澄清其他人将来修改代码。

部分来源:http ://api.jquery.com/ready/

于 2013-05-28T05:18:17.760 回答
0

所有三种语法都是等价的,但查看jQuery docs版本:

jQuery(document).ready(function($) {
  // Code using $ as usual goes here.
})

避免了 $ 上的命名空间困难,因为:

给 jQuery 命名空间起别名

当使用另一个 JavaScript 库时,我们可能希望调用 $.noConflict() 来避免命名空间问题。当调用此函数时,$ 快捷方式不再可用,迫使我们每次通常编写 $ 时都要编写 jQuery。但是,传递给 .ready() 方法的处理程序可以接受一个参数,该参数被传递给全局 jQuery 对象。这意味着我们可以在 .ready() 处理程序的上下文中重命名对象,而不会影响其他代码:

于 2013-05-28T05:20:10.797 回答
0

第二个是第一个句子的排序形式

经验丰富的开发人员有时会使用第二种方式

如果您正在编写没有 jQuery 经验的人可能会看到的代码,最好使用第一个。

于 2013-05-28T05:24:56.767 回答
0

如果脚本是依赖的,更正确的方法可能是:

(function(doc,win,$){
    $(doc).ready(function($){
    //do something
    });
})(document, window, jQuery);
于 2013-05-28T05:28:22.583 回答