jQuery中$(function(){})与(function($){})(jQuery)、$(document).ready(function(){})等的区别详细讲解 ----转载

1、(function($) {…})(jQuery);

1)、原理:

这实际上是匿名函数,如下:

function(arg){…}

这就定义了一个匿名函数,参数为arg

而调用函数时,是在函数后面写上括号和实参的,由于操作符的优先级,函数本身也需要用括号,即:

(function(arg){…})(param)

这就相当于定义了一个参数为arg的匿名函数,并且将param作为参数来调用这个匿名函数

而(function($){…})(jquery)则是一样的,之所以只在形参使用$,是为了不与其他库冲突,所以实参用jQuery

相当于funtion output(s){…};output(jQuery);或者var fn=function(s){…};fn(jQuery);

2)、作用(非常有用):

这种写法的最大好处是形成闭包。在(function($) {…})(jQuery)在内部定义的函数和变量只能在此范围内有效。

形成是否函数函数、私有变量的概念。比如:

[javascript] view plain copy

  1. var i=3;
  2. function init(){
  3. alert("外层init:"+i);
  4. }
  5. (function($) {
  6. var i=2;
  7. function init(){
  8. alert("内层init:"+i);
  9. }
  10. init();
  11. })(jQuery);
  12. init();

执行结果:

内层init:2

外层init:3

2、$(function(){…});   jQuery(function($) {…});  $(document).ready(function(){…})

这三个的作用是一样的

时间: 2024-10-10 01:16:06

jQuery中$(function(){})与(function($){})(jQuery)、$(document).ready(function(){})等的区别详细讲解 ----转载的相关文章

【JQuery】jQuery(document).ready(function($) { });的几种表示方法及load和ready的区别

jQuery中处理加载时机的几种方式 第一种: jQuery(document).ready(function() { alert("你好"); }); //或 $(document).ready(function() { alert("你好"); }); 第二种: jQuery(function() { alert("你好"); }); //或 $(function() { alert("你好"); }); 第三种: (fu

(转)$(function(){})和$(document).ready(function(){})

holysonll.blog.163.com/blog/static/2141390932013411112823855/ document.ready和onload的区别——JavaScript文档加载完成事件 页面加载完成有两种事件 一是ready,表示文档结构已经加载完成(不包含图片等非文字媒体文件) 二是onload,指示页面包含图片等文件在内的所有元素都加载完成. 用jQ的人很多人都是这么开始写脚本的: $(function(){ // do something }); 其实这个就是j

$(function(){})和$(document).ready(function(){})

document.ready和onload的区别——JavaScript文档加载完成事件页面加载完成有两种事件一是ready,表示文档结构已经加载完成(不包含图片等非文字媒体文件)二是onload,指示页面包含图片等文件在内的所有元素都加载完成. 用jQ的人很多人都是这么开始写脚本的:$(function(){// do something});其实这个就是jq ready()的简写,他等价于: $(document).ready(function(){//do something})//或者下

$(function(){})和$(document).ready(function(){}) 的用法

当文档载入完毕就执行,以下几种效果是等价的:1. $(function(){ //这个就是jQuery ready()的简写,即下2的简写 // do something }); 2. $(document).ready(function(){ //do something }) 3. $().ready(function(){ //默认参数是:document //do something }) document.ready和onload的区别——JavaScript文档加载完成事件 页面加载

JQuery排错关于$(document).ready(function(){});

最近写了好多JQuery.也出了很多问题.不知道怎么回事.程序就不往下执行了.很是郁闷. 查了下资料,这里可能会有以下几种原因:1.js文件的引用路径不正确,特别是使用了命名空间,容易造成路径错误,使用绝对路径看是否成功.2.看 $(document).ready(function(){}); 是否会执行.3.$选择器所选的内容是否存在.排查很简单,请使用调试工具,如Firebug,查看console面板,就会把错误信息展现出来的. 这是我遇到的错误: jQuery,js : missing)a

jquery中的$(document).ready(function(){})和$(window).load()比较

1.执行时间 window.onload()即jquery写法中的$(window).load(function(){})必须等到页面内包括图片的所有元素加载完毕后才能执行. $(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕. 2.编写个数不同 window.onload不能同时编写多个,如果有多个window.onload方法,只会执行一个(最后一个)$(document).ready()可以同时编写多个,并且都可以得到执行 3.简化写法 window.on

jQuery中$(function(){})与(function($){})(jQuery)、$(document).ready(function(){})等的区别详细讲解

1.(function($) {…})(jQuery); 在(function($) {…})(jQuery)在内部定义的函数和变量只能在此范围内有效. 形成是否函数函数.私有变量的概念.比如: var i=3; function init(){ alert("外层init:"+i); } (function($) { var i=2; function init(){ alert("内层init:"+i); } init(); })(jQuery); init()

$(document).ready(function(){ })

$(document).ready(function(){ }) 延迟加载,等待dom结构加载完成 再执行js代码 简写为 $(function(){ alert(1) }) $(function(){ alert(2) }) 可以多次执行 window.onload只能执行一次 还要等大图片等加载完成才执行 可以连缀执行 $("div").css("color","red").css("font-size","12

jquery中$(document).ready(function(){//todo});window.onload时间线关系

1.基于DOM的解析加载过程,即:document.readystate状态, 其有如下四个状态: a.uninitiated,未初始化状态. b.loading,dom开始解析. c.loaded,dom解析完成.document.ready触发,然后再加载其他东西(图片.延迟加载的js代码等). d.complete,所需要的图片 异步js等也加载完成,整个页面不在请求数据. 2.例子如下: document.onreadystatechange = function(){ if(docum