1、(function($) {…})(jQuery);
它是 $(document).ready() 的简写,同时内部的 jQuery 代码依然使用 $ 作为别名,而不管全局的 $ 为何。
在(function($) {…})(jQuery)在内部定义的函数和变量只能在此范围内有效。
比如:
var i=3;
function init(){
alert("外层init:"+i);
}
(function($) {
var i=2;
function init(){
alert("内层init:"+i);
}
init();
})(jQuery);
init();
执行结果:
内层init:2
外层init:3
2.现在来讨论下在 Jquery 中两个页面载入后执行的函数。
1).
$(document).ready(function(){
// 在这里写你的代码...
});在DOM加载完成时运行的代码
可以简写成
jQuery(function(){
});
2).
(function($) {})(jQuery)什么意思?
其实际上是执行()(param)匿名方法,只不过是传递了jQuery对象。
相当于 两句:
function aa($){};
aa(jQuery);
是初始化jQuery对象的惯用方法.
通俗点说就是在页面加载完成后执行你需要的代码.
不过这个东西,有的时候会使页面跳动,很多JQUERY插件都是在加载完成后,才改变样式的,页面会有跳动或闪动的感觉.比如ui.tab这个插件,页面元素一多,全部显示出来了,它才形成TAB。
(funtion(){})();立即执行函数;相当于先申明一个函数,声明完后直接调用;
比如:
(funtion(str){alert(str)})("output"));相当于:funtion OutPutFun(str){alert(str);};OutPutFun("output");
jQuery(function(){});用于存放操作DOM对象的代码,执行其中代码时DOM对象已存在。不可用于存放开发插件的代码,因为jQuery对象没有得到传递,外部通过jQuery.method也调用不了其中的方法(函数)。
(function(){})(jQuery);用于存放开发插件的代码,执行其中代码时DOM不一定存在,所以直接自动执行DOM操作的代码请小心使用。