首页 > 代码库 > 浅谈jQuery的$(function(){})和(function($){}(jQuery))的区别

浅谈jQuery的$(function(){})和(function($){}(jQuery))的区别

一:$(function(){})

  $(function(){})是$(document).ready(function(){})的简写,或者$().ready(function(){}),会在DOM加载完成之后执行。

  与onload的区别在于:ready,表示文档结构已经加载完成(不包含图片等非文字媒体文件);而onload,指示页面包含图片等文件在内的所有元素都加载完成。

二:(function($){}(jQuery))

  (function($){}(jQuery))是立即执行函数;相当于先申明一个函数,声明完后直接调用;相当于function aa($){};aa(jQuery);

三:区别

  jQuery(function(){});用于存放操作DOM对象的代码,执行其中代码时DOM对象已存在。不可用于存放开发插件的代码,因为jQuery对象没有得到传递,外部通过jQuery.method也调用不了其中的方法(函数)。 

  (function(){})(jQuery)用于存放开发插件的代码,执行其中代码时DOM不一定存在,所以直接自动执行DOM操作的代码请小心使用。一般用于插件的开发


浅谈jQuery的$(function(){})和(function($){}(jQuery))的区别