类似(function($){})这些匿名函数的区别
$(function(){}
(function($){})
(function(){})(jQuery) 这里后面为什么要加上这个呢(jQuery) 展开
首先你要了解js里面定义函数的方法
下面两个定义函数的方法是等价的
var test = function(val){alert(val);}
function test(val){alert(val);}
都是定义了一个test()方法, 调用的时候就是test(1);就会alert(1)
接下来看你上面那些东西
(function(){}), 应该没有单独使用这个的情况, 可能是 var test = (function(){}); 这样定义了一个函数
$(function(){}); 这个是jquery的东西, 在jquery里$()就是一个函数, 这个函数的作用就是页面加载完成后就调用传入的参数, 当然 你传入的参数是一个function(){}, 就是说页面加载完成后执行这个function(){}, 作用等同于window.onload = function(){}
(function($){})同样应该没有单独使用这样子的情况
(function($){})(jQuery), 你上面少写了参数$, 这个的意思定义一个匿名执行函数, 就是同时定义和执行, 等价于下面两个加起来
function f($){};
f(jQuery);
就是定义了一个f()函数, 这个函数有一个参数是$, 然后把jQuery作为参数传进去执行