jQuery(function ($) {..}
我正在尝试学习jQuery并遇到了一些像上面的语句一样开始的代码。这是什么意思?
答案 0 :(得分:6)
这是:
的快捷方式jQuery(document).ready(function($) {
// ...
});
它为文档准备好操作其DOM时设置了一个事件处理程序。在文档准备好之后启动jQuery代码是一种很好的做法。第一个参数$
引用了jQuery
对象,因此您可以在代码中使用$
代替jQuery
。
答案 1 :(得分:1)
我相信这允许您将$
抽象为匿名函数。由于一些不同的JavaScript库使用您不想创建冲突的$
语法。因此,您使用其显式标识符jQuery
调用jQuery并传入$
。现在,您可以在匿名函数中使用$
所有内容,而无需担心与其他库冲突。
答案 2 :(得分:1)
雅各布是对的。
您将与jQuery(function($){..}
一起看到的其他变体是
$(document).ready(function(){...}
jQuery(document).ready(function(){...}
$(function(){...}
等待所有DOM完全加载。
答案 3 :(得分:1)
将函数传递给对jQuery()
的调用会在dom准备就绪时执行该函数。
该函数作为第一个参数传递给jQuery
的引用。因此,将该函数中的arg名称设置为$
,可以在函数中使用$
作为jQuery
的简写。默认情况下,$
是对jQuery
的全局引用,因此如果您在其他位置覆盖$
,则只需将$
指定为函数中的参数,例如使用jQuery.noconflict()
。这是插件开发人员的常见做法,因为无法保证插件使用者不会覆盖$
。