Javascript $(文档).ready(函数()对$(函数()){

Javascript $(文档).ready(函数()对$(函数()){,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,可能重复: $(document).ready(function(){})与$(function(){}) 我应该用$表单还是新的jQuery(document).ready(function(){})方式来编写它 如果我加载了google api,那么是google.setOnLoadCallback(function(){更好的方法吗?还是相同的方法 我还看到人们使用$(函数($){}) 谁能帮帮我吗,我迷路了。当我不知道我写的代码时,我就烦死我了。我想我应该通读这个库。所有的定义都是一样

可能重复:

$(document).ready(function(){})
$(function(){})
我应该用
$
表单还是新的
jQuery(document).ready(function(){})
方式来编写它

如果我加载了google api,那么是
google.setOnLoadCallback(function(){
更好的方法吗?还是相同的方法

我还看到人们使用
$(函数($){})

谁能帮帮我吗,我迷路了。当我不知道我写的代码时,我就烦死我了。我想我应该通读这个库。所有的定义都是一样的吗?

  • $(文档).ready(函数(){});
  • $(函数(){});
这两个语句实际上是完全相同的,所以第二个调用只是第一个调用的快捷方式

$
符号同样只是
jQuery
的快捷方式。如果你已经将jQuery加载到你的网站中,你可以同时使用这两种方法。特别是如果你没有加载其他JS库,它们可能也使用了
$
符号。这就让我们来看看你提到的

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

调用。这里要做的是确保在您创建的函数表达式中,
$
jQuery
对象的引用进行签名。您正在调用匿名函数(以$作为参数),并将
jQuery
对象传入。

这两种方法是等效的,我个人更喜欢第二种方法,
$(function(){});
它只是一个准备好的文档

关于
newjquery(document)…
构造,您实际上不需要使用
new
操作符,如果不需要,jQuery将在内部使用它

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

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

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

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

我鼓励阅读一些文章,这些文章对于理解jQuery(当然还有javascript)中的某些内容非常有用,这篇文章解释了如何创建jQuery插件,但是阅读它您将了解一些基本和重要的事情,比如闭包,这是(function($){}(jQuery));语句中的含义


完全重复,我想他指的是“新方式”JQuery(文档)…从JQuery 3.0开始,只建议使用
$(function(){})
语法;其他语法仍然有效,但不推荐使用。请参阅