【发布时间】:2018-02-07 18:23:10
【问题描述】:
我对网络编程很陌生。
寻找一个jQuery函数我发现了类似的东西:
jQuery(function($) {
$('#EleId1').click(function () {
//do stuff
}
$('#EleId2').click(function () {
//do other stuff
}
});
但是如果我删除“jQuery(function($) {”和最后的“});”,一切仍然有效,我在控制台中没有错误。
所以我关于“jQuery(function($) {”的问题是:
是推荐的(作为最佳实践或更易读的代码)还是出于其他原因需要它?
编辑 在类似的问题中,缺少“jQuery”,因此它似乎与那些不知道“$”等同于“jQuery”的问题不同,如下面的评论中所述。
【问题讨论】:
-
@luxdvie 抱歉,我没有找到那个问题。无论如何,其他问题语法中缺少“jQuery”
-
@luxdvie 不完全是。这是一个不完整的 sn-p,因为它最后缺少 IIFE
(jQuery)注入。参数$未定义 -
@SterlingArcher 这相当于
jQuery(document).ready(function($) { ... }); -
如果您要问
jQuery(function($)中的$是什么,它也是jQuery。 jQuery 在函数中传递自身。$通常是一个全局的,但是通过传入它,它变成了一个局部的,这也允许你忽略冲突,因为在你的函数内部$变成了 jQuery 而不是其他库。由于您没有其他库,因此您也可以在函数外部使用$(因为它是全局的)。