$(function(){
// ...
});
相当于:
$(document).ready(function(){
// ...
});
用于存放操作DOM对象的代码,执行其中代码时DOM对象已存在
而虾面这段代码,则是一个匿名函数:
(function($){
// ...
})(jQuery);
用于存放开发插件的代码,执行其中代码时DOM不一定存在。
但是这样写的好处是限制了变量的作用域,使得各个插件之间不冲突。
这段代码:
$.fn.apple = function(){
var a=0;
console.log(a);
a=a+1;
};
则用于扩展jquery函数,定义好的函数可以这样调用:
$("#first").apple();
虾面这两种写法,第一种不会自动执行,而第二种则会被执行。
var initData = function(){
console.log("initData");
};
var initData = function(){
console.log("initData");
}();