1.(function($){})(jQuery)
function($){}
,是一个匿名的函数,它的形参比较奇怪,是$,这里主要是为了不与其它的库冲突。
容易理解第一个括号内的内容就是定义了一个匿名函数,我们在调用函数的时候,都是函数名后边加上括号以及实参,但是由于操作符的优先级我们定义的匿名函数也需要用()括起来。
第一个括号表示定义了一个匿名函数,然后第二个函数表示为该函数传递的参数,整个结合起来意思就是,定义了一个匿名函数,然后又调用该函数,该函数的实参为jQuery。
相当于:
function fun($){
};
fun(jQuery);
这种方法多用于存放开发的插件,执行其中的代码时,Dom对象并不一定加载完毕。
于此相反的是$(function(){})
,这种方法在使用时页面的Dom对象已经加载完毕了。事实上该方法的全写是:
$(document).ready(function(){});
$(function(){})与jQuery(function(){});
等价
jQuery(function(){})
用于存放操作DOM对象的代码,执行其中代码时DOM对象已存在。不可用于存放开发插件的代码,因为jQuery对象没有得到传递,外部通过jQuery.method也调用不了其中的方法(函数)。
(function($){})(jQuery)
用于存放开发插件的代码,执行其中代码时DOM不一定存在,所以直接自动执行DOM操作的代码 请小心使用。