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

IT技术 javascript jquery jquery-ui
2021-01-22 01:20:44

可能的重复:
$(function(){ }) 的区别是什么;和 $(document).ready(function() { }) ;?

$(document).ready(function(){})vs之间有什么区别,$(function(){}) 我应该以$形式还是以新jQuery(document).ready(function(){ })方式编写

如果我加载google.setOnLoadCallback(function() {google api 是更好的方法吗?还是同样的事情?

我也看到有人用 $(function($){})

有人可以帮助我吗,我迷路了。当我不知道我写的代码时,我会打扰我。我想我应该通读图书馆。所有的都被定义为同一件事吗?

3个回答

这两种方式是等价的,我个人更喜欢第二种,$(function() {});它只是准备文档快捷方式

关于new jQuery(document)...构造,您实际上并不需要使用new运算符,如果您不使用,jQuery 将在内部使用它。

ready处理函数接收的参数是 jQuery 对象本身。

当您必须以与其他库兼容的模式运行 jQuery 时,这非常有用,例如:

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

$回调中参数将引用 jQuery 对象,在该函数之外它可能引用另一个库,如 PrototypeJS。

我认为他的意思是新的“新方式”JQuery(文档)......
2021-03-15 01:20:44
从 jQuery 3.0 开始,只$(function() {})推荐使用语法;其他语法仍然有效,但已被弃用。api.jquery.com/ready
2021-04-06 01:20:44
  • $(document).ready(function() {});
  • $(function() {});

这两种说法实际上是完全一样的。所以第二个调用只是第一个调用的快捷方式。

$符号再次只是 的快捷方式jQuery如果您已将 jQuery 加载到您的网站,则可以同时使用两者。特别是如果您不加载其他 JS 库,这些库可能也使用该$标志。这让我们想到了你提到的

(function($){
}(jQuery));

称呼。这里所做的是确保在您创建的函数表达式中,$符号引用了jQuery对象。您正在调用该匿名函数(以​​ $ 作为参数)并将jQuery对象传入

我鼓励阅读一些对理解 jQuery(当然还有 javascript)非常有用的文章,这篇文章解释了如何创建一个 jQuery 插件,但阅读它你会理解一些基本和重要的东西,比如闭包女巫是这意味着 (function($){}(jQuery)); 陈述。

http://www.authenticsociety.com/blog/jQueryPluginTutorial_Beginner