jQuery plugin 的写法一般为:
(function($) { $.fn.myPlugin = function(){}; })(jQuery);
而
(function($) { })(jQuery);
就是使用了自调用匿名函数的写法。
传统的写法
function doSomeAlert() { alert('Hello World'); }
当页面加载的时候,上面的代码不会自动运行。如果需要,那就必须调用它:
doSomeAlert();
自调用匿名函数
使用自调用匿名函数的写法,当页面加载的时候,就直接运行该函数,而不需要再调用它。
( function doSomething() { alert('Hello World'); } )();
还可以继续简化代码,把函数名去掉:
( function() { alert('Hello World'); } )();
请注意第二组圆括号(),即使此时没有参数,也不能去掉;这组圆括号也意味着:“Execute!”(执行)
参数
第二组圆括号()还可以为匿名函数传递参数:
( function(name) { alert('Hello ' + name); } )('Lion');
注意参数Lion传递给匿名函数的name。
关于jQuery plugin
(function($) { $.fn.myPlugin = function(){}; })(jQuery);
现在再来谈谈一下jQuery plugin的问题。jQuery plugin都使用jQuery对象作为参数传递给匿名函数,而匿名函数使用$来代表jQuery对象。也就是$ == jQuery 。