1.“(function($){...})(jQuery)”实际上表示的是已处于调用状态的匿名函数:function($){...}是定义的匿名函数,参数为$(之所以将参数声明为$是为了不与其他库冲突);为了调用该函数则在该匿名函数的后面添上了括号和实参(这里为jQuery),但又由于操作符的优先级,函数本身也需要用括号,所以又为匿名函数添加了括号。
2.“$(function(){ });”用于存放操作DOM对象的代码,执行其中代码时DOM对象已存在;“(function(){})(jQuery);”用于存放开发插件的代码,执行其中代码时DOM不一定存在。
example:
<!DOCTYPE HTML>
<html>
<head>
<title>测试</title>
<script src="jquery-1.11.1.js"></script>
<script type="text/javascript">
//插件
(function($){
$.test=function(){//匿名函数
alert("ok");
}
})(jQuery);//jQuery是
//调用匿名函数
jQuery(function(){
$.test();
});
</script>
</head>
<body>
</body>