什么;jQuery(函数($){";用于什么?

什么;jQuery(函数($){";用于什么?,jquery,syntax,Jquery,Syntax,我对网络编程相当陌生 在查找jQuery函数时,我发现如下内容: jQuery(function($) { $('#EleId1').click(function () { //do stuff } $('#EleId2').click(function () { //do other stuff } }); 但是如果我删除“jQuery(function($){”和最后一个“”;”所有操作仍然有效,并且控制台中没有错误 因此

我对网络编程相当陌生

在查找jQuery函数时,我发现如下内容:

jQuery(function($) {
    $('#EleId1').click(function () {
        //do stuff
    }
    $('#EleId2').click(function () {
        //do other stuff
    }

}); 
但是如果我删除“
jQuery(function($){
”和最后一个“
”;
”所有操作仍然有效,并且控制台中没有错误

因此,我关于“
jQuery(function($){
”的问题是:
它是推荐的(作为最佳实践或更可读的代码),还是出于其他原因需要

编辑 在类似的问题中,缺少“jQuery”,因此它似乎与那些不知道“$”等同于“jQuery”的问题不同,如下面的注释所述。

代码:

jQuery(function() {
是的缩写

$( document ).ready(function() {
在文档“就绪”之前,无法安全地操作页面。jQuery为您检测到这种就绪状态。包含在$(document).ready()中的代码只有在页面文档对象模型(DOM)准备好让JavaScript代码执行后才会运行

jQuery
vs
$
:“jQuery”=“$”-
jQuery(function()
$(function()
)相同,因为其他库使用“$”可以显式使用jQuery,这样就不会产生冲突

默认情况下,jQuery使用$作为jQuery的快捷方式。因此,如果您使用的是另一个使用$变量的JavaScript库,则可能会与jQuery发生冲突

因此,您可以使用
jQuery(function
而不是
$(function
在别处定义了$)


问题中的代码与其他问题略有不同,函数调用有一个传递jQuery本身的参数,因此问题中的代码:

jQuery(function($) {
确保函数内的所有代码都可以访问
$
,而函数外的代码可以或不可以将
$
定义到其他库中

这可以通过使用不同的变量代替上面的
$
来证明:

jQuery(函数(replacementJquery){
replacementJquery(“#id”).text(“已更新”)
});

原始的
代码:

jQuery(function() {
是的缩写

$( document ).ready(function() {
在文档“就绪”之前,无法安全地操作页面。jQuery为您检测到这种就绪状态。包含在$(document).ready()中的代码只有在页面文档对象模型(DOM)准备好让JavaScript代码执行后才会运行

jQuery
vs
$
:“jQuery”=“$”-
jQuery(function()
$(function()
)相同,因为其他库使用“$”可以显式使用jQuery,这样就不会产生冲突

默认情况下,jQuery使用$作为jQuery的快捷方式。因此,如果您使用的是另一个使用$变量的JavaScript库,则可能会与jQuery发生冲突

因此,您可以使用
jQuery(function
而不是
$(function
在别处定义了$)


问题中的代码与其他问题略有不同,函数调用有一个传递jQuery本身的参数,因此问题中的代码:

jQuery(function($) {
确保函数内的所有代码都可以访问
$
,而函数外的代码可以或不可以将
$
定义到其他库中

这可以通过使用不同的变量代替上面的
$
来证明:

jQuery(函数(replacementJquery){
replacementJquery(“#id”).text(“已更新”)
});


原文
@luxdvie抱歉,我没有找到那个问题。总之,另一个问题中缺少了“jQuery”syntax@luxdvie不完全正确。这是一个不完整的代码段,因为它缺少结尾的IIFE
(jQuery)
注入。参数
$
为undefined@SterlingArcher这相当于
jQuery(document).ready(function($){…});
如果您询问
jQuery(function($)中的
$
是什么
是,它也是jQuery。jQuery在函数中传递自身。
$
通常是一个全局函数,但通过传递它,它会变成一个局部函数,这也允许您忽略冲突,因为在函数内部
$
会变成jQuery而不是其他库。因为您没有其他库,所以可以在函数外部使用
$
他也有功能(因为它是全局的)。@luxdvie很抱歉我没有找到那个问题。总之,另一个问题中缺少了“jQuery”syntax@luxdvie不完全是。这是一个不完整的代码段,因为它缺少IIFE
(jQuery)
末尾注入。参数
$
为undefined@SterlingArcher这相当于
jQuery(document).ready(function($){…});
如果您询问
jQuery(function($)中的
$
是什么
是,它也是jQuery。jQuery在函数中传递自身。
$
通常是一个全局函数,但通过传递它,它会变成一个局部函数,这也允许您忽略冲突,因为在函数内部
$
会变成jQuery而不是其他库。因为您没有其他库,所以可以在函数外部使用
$
他也在发挥作用(因为它是全球性的)。