`
ch_kexin
  • 浏览: 902817 次
  • 性别: Icon_minigender_2
  • 来自: 青岛
社区版块
存档分类
最新评论

(function($){...})(jQuery)是什么意思

 
阅读更多
这里实际上是匿名函数

function(arg){...}
这就定义了一个匿名函数,参数为arg

而调用函数 时,是在函数后面写上括号和实参的,由于操作符的优先级,函数本身也需要用括号,即:
(function(arg){...})(param)
这 就相当于定义了一个参数为arg的匿名函数,并且将param作为参数来调用这个匿名函数

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

**************************************************************************
其实就等于
var fn = function($){....};
fn(jQuery);

其实可以这么理解,不过要注意的是fn是不存在的
那个函数直接定义,然后就运行了。就“压缩”成下面的样子了
(function($){...})(jQuery) 
**************************************************************************
简单理解是(function($){...})(jQuery)用来定义一些需要预先定义好的函数
$(function(){ })则是用来在DOM加载完成之后运行\执行那些预行定义好的函数.
**************************************************************************

开发jQuery插件时总结的一些经验分享一下。 
一、先看 

jQuery(function(){ 
}); 
全写为 
jQuery(document).ready(function(){ 

}); 

意义为在DOM加载完毕后执行了ready()方法。 
二、再看 

(function(){ 

})(jQuery); 
其实际上是执行()(para)匿名方法,只不过是传递了jQuery对象。 

三、总结 

jQuery(function(){ });用于存放操作DOM对象的代码,执行其中代码时DOM对象已存在。不可用于存放开发插件的代码,因 为jQuery对象没有得到传递,外部通过jQuery.method也调用不了其中的方法(函数)。 
(function(){ })(jQuery);用于存放开发插件的代码,执行其中代码时DOM不一定存在,所以直接自动执行DOM操作的代码 请小心使用。
 
分享到:
评论

相关推荐

    jquery $.fn.extend

    `$.fn.extend`是jQuery库中的一个核心方法,主要用于扩展jQuery对象的方法集合。这个方法允许开发者自定义jQuery的函数,从而实现对DOM元素的操作或添加新的功能。在jQuery中,`$.fn`实际上是`$.prototype`的一个...

    jquery 插件开发

    在本篇文章中,我们将详细解析如何通过$.extend()方法扩展jQuery、如何通过$.fn向jQuery添加新的方法以及如何使用$.widget()方法应用jQuery UI的部件工厂方式创建插件。 首先,我们来看如何通过$.extend()方法扩展...

    Jquery实现$.fn.extend和$.extend函数_.docx

    在JavaScript中,jQuery库提供了两种扩展对象的方法,即`$.fn.extend`和`$.extend`。它们都用于增加或修改现有对象的功能,但应用场景不同。本文将深入解析这两种方法的实现原理和用途。 首先,`$.fn.extend`是用于...

    Jquery中$与$.fn的区别实例.zip

    在jQuery库中,`$`和`$.fn`都是核心组成部分,但它们有着不同的用途和功能。理解这两者的差异对于深入学习和使用jQuery至关重要。本文将详细解释`$`和`$.fn`的区别,并通过实例来帮助你更好地掌握它们。 首先,`$`...

    Jquery.Messager弹出消息插件

    1. **初始化**:在文档加载完成后,通过`$.messager`进行初始化设置。 ```javascript $(document).ready(function() { $.messager.defaults = { showType: 'slide', // 动画效果,如淡入、滑动等 timeout: 3000...

    怎样理解(function($){...})(jQuery)

    本示例主要用于揭示Jquery中的(function($){...})(jQuery),欢迎下载!!!相关博客:http://blog.csdn.net/gaohuanjie/article/details/38268831

    深入理解jquery的$.extend()、$.fn和$.fn.extend()

    在jQuery中,`$.extend()`、`.fn`(即`jQuery.fn`)和`.fn.extend()`是开发者用于增强其功能和创建插件的关键部分。下面我们将详细探讨这三个概念。 1. `$.extend()` `$.extend()`方法用于合并一个或多个对象的属性...

    浅谈jquery中的each方法$.each、this.each、$.fn.each

    $.each([1,2,3,4],function(){  //$(this)==数组中的每一个数组(如果数组是对象,就是对象) }); 方法三 应有场景有点不一样 this.each(function(){ }) 扩展jQuery对象方法 应该是 j

    jquery中的工具使用方法$.isFunction, $.isArray(), $.isWindow()

    当然,jquery除了提供$.type的工具方法外,还提供了几个其他的工具方法:$.isFunction(), $.isArray(), $.isWindow(), $.isNumeric()等。这几个方法从方法名上就能看出其用途来,下面我们来一一讲解这几个方法在...

    Jquery $when done then的用法详解

    对于$.ajax请求来说,如果层级比较多,程序看起来会比较乱,而为了解决这种问题,才有了$when…done…fail…then的封装,它将$.ajax这嵌套结构转成了顺序平行的结果,向下面的$.ajax写法,看起来很乱 $.ajax({ url...

    jQueryPost页面不能刷新

    然而,当遇到"jQueryPost页面不能刷新"的问题时,这通常意味着在使用`$.post`函数时存在错误,导致页面无法正常刷新或数据更新不成功。根据提供的描述和部分代码,我们可以分析并解决这个问题。 首先,让我们看看...

    Jquery实现$.fn.extend和$.extend函数

    在jQuery库中,`$.fn.extend` 和 `$.extend` 是两个非常重要的功能,它们用于扩展jQuery的功能和对象。这两个函数虽然名字相似,但作用却截然不同。 首先,`$.fn.extend` 是用于扩展jQuery选择器对象的方法。当你...

    jquery-1.11.1.js 、jquery-1.11.1.min.js 【官方jquery包 js】

    - `$.get()`/`.post()`:简化版的Ajax请求,用于快速实现GET和POST操作。 - `$.getJSON()`:专门用于获取JSON数据的函数。 7. **`.min.js`版本** 压缩后的`jquery-1.11.1.min.js`通过删除注释、合并变量、压缩...

    jquery-2.1.1.js 、jquery-2.1.1.min.js 【jquery包 js】

    5. **Ajax交互**:jQuery的`$.ajax()`函数封装了XMLHttpRequest对象,提供异步数据请求。`$.get()`, `$.post()`等简化了常见的GET和POST请求。 6. **插件生态系统**:jQuery拥有庞大的插件生态系统,如jQuery UI...

    jquery.i18n.properties和jquery.easyui.min

    var charSize = $.inArray(navLanguage, webLanguage); if (charSize > -1) { i18nLanguage = navLanguage; // 存到缓存中 jQuery.cookie("userLanguage ",navLanguage, { expires : 7 }); }; } ...

    Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结

    $.get(),$.post(),$.ajax(),$.getJSON() 一,$.get(url,[data],[callback]) 说明:url为请求地址,data为请求数据的列表,callback为请求成功后的回调函数,该函数接受两个参数,第一个为服务器返回的数据,第二个...

    jquery-1.7.2.js 、jquery-1.7.2.min.js 【官方jquery包 js】

    5. **Ajax请求**:jQuery的`$.ajax()`函数是进行异步数据交换的关键,它可以处理XMLHttpRequest对象的所有细节,如`dataType`指定返回数据类型,`success`回调处理成功响应。 6. **版本差异**:jQuery 1.7.2相比于...

    jquery-1.9.1.min.js_javascript_jquery_

    5. **Ajax交互**:jQuery 的 `$.ajax()` 函数简化了异步数据请求,支持JSON、XML等多种数据格式。同时,`$.get()` 和 `$.post()` 等简化的API使得HTTP GET和POST请求更加便捷。 6. **兼容性**:jQuery 对各种浏览器...

    Jquery.json.js

    jQuery提供了方便的方法来处理JSON数据,包括`$.getJSON()`和`$.ajax()`等函数,可以方便地从服务器获取JSON数据并将其转化为JavaScript对象,或者将JavaScript对象转换为JSON字符串发送到服务器。 **jQuery的get...

Global site tag (gtag.js) - Google Analytics