jQuery 中 jQuery(function(){})与(function(){})(jQuery) 的区别
jQuery 中 jQuery(function(){})与(function(){})(jQuery) 的区别
1、jQuery(function(){})
$(document).ready(function(){
// 在这里写你的代码...
});
// 我们平常通过 jQuery编写的 如 $('#input').change(function(){}) 都是类似的,在DOM加载完成后才会执行,进行一些页面的初始化操作,或者事件响应操作
在DOM加载完成时运行的代码
2、(function(){})(); —— 既 匿名声明后即刻调用函数
立即执行函数;相当于先申明一个函数,声明完后直接调用
**如果参数如: **
(function(str){alert(str)})("output"));
相当于:
function OutPutFun(str){alert(str);};OutPutFun("output");
function aa($){}
aa(jQuery);
是初始化jquery对象的惯用方法.
通俗点说就是在页面DOM加载完成后(不包括图片下载完成)执行你需要的代码,由于不包括图片下载,所以比window.onload效率高.
不过这个东西,有的时候会使页面跳动,很多JQUERY插件都是在加载完成后,才改变样式的,页面会有跳动或闪动的感觉.比如ui.tab这个插件,页面元素一多,全部显示出来了,它才形成TAB,很晕的说
3、(function(){})(jQuery) —— 用于存放开发插件的代码
(function ($) {
$.fn.test111 = function () {
alert('test')
}
})(jQuery);
用于存放开发插件的代码,执行其中代码时DOM不一定存在,所以直接自动执行DOM操作的代码请小心使用。