`

(function($) {...})(jquery);这种定义方式是什么意思?

 
阅读更多

1.什么意思? 2.能够完成什么功能?

问题补充:

非常感谢你的回答,但是还有一些地方不太清楚比如: (function($) {...})(jquery);中 (function($) {...})是个对象那(jquery);是什么? 如果jquery是参数那么(jquery)他的方法体在那?不需要吗?juery是什么 你的回答非常详细了,如果不给点分都不好意思了。 我刚刚接触jquery基础差所有你说的地方我还是有地方不太懂,如: a=function($) {...}; a(jquery); 等价. 1、a(jquery) 如果不看 a之前的定义那a(jquery) 就是一个没有方法体的方法被?那他传一个jquery参数有什么用? 2、为什么定义方法,不去正向定义如:a=function($) {...};,在其他部分用a()就可以了,为什么要用a做方法的实现部分呢?这种写法能带来什么好处?

回答:

我们从js的函数执行逆回去才能看清他的执行过程. 如果有一个带一个参数的函数a(这里先不定义函数a,就是假设已经有了) 那么他执行就是 a(b); 这种样式. 我们还知道,js的匿名函数很强大, var c=function(paramC){...}; 那么c(paramCobj);就是执行了这个匿名函数. 所以,就刚才的a(b);来说,a可以是匿名函数. a=function(paramA){...}; a(b); 有可能就是这个结构. 好了,jquery连第一步都省了,直接使用没有名称的匿名函数. 那么a(b);这里的a,就被替换成了匿名函数,所以就成了 (function(paramA){...})(b);(匿名函数在js中因为也是对象,所以需要双括号包裹起来) 这个结构就说明了,我使用了匿名函数,并且立刻执行这个匿名函数. 再分析(function(paramA){...})(b)这种格式,匿名函数部分参数paramA是个形参,用在匿名函数内部作为值的调用,而b这个参数就是个实参,是将b这个值代入到函数内部. 我说的算是比较浅显易懂了. 大部分时候,(function($) {...})(jquery);所在的上下文环境中,根本本没有jquery这个参数,所以在jquery匿名函数内,他会自己创建jquery对象. 你的信息已回复. 我这里再简要说明下, (function($) {...})(jquery); 和 a=function($) {...}; a(jquery); 等价. 所以,这种写法就是为了让匿名函数立即执行.

分享到:
评论

相关推荐

    解决JQurey跨域问题$.get|$.post|$.getJSON等等统统可跨域

    本篇将详细介绍如何解决jQuery跨域问题,涉及的方法包括$.get、$.post和$.getJSON等。 首先,我们需要理解什么是跨域。同源策略是浏览器为保障安全而实施的一项机制,它规定JavaScript只能访问与当前页面同源(协议...

    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中$.post和$.ajax的用法小结

    `$.post`和`$.ajax`是jQuery中用于实现Ajax(异步JavaScript和XML)请求的两个关键方法,它们允许我们在不刷新整个页面的情况下更新网页的部分内容,提高用户体验。 `$.post`是`$.ajax`的一个简化版本,主要用来...

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

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

    jQuery Ajax之$.get()方法和$.post()方法

    无论是$.get()还是$.post(),如果请求失败,jQuery都会调用全局的`.ajaxError()`事件处理器,允许开发者定义错误处理逻辑。 3. **请求状态与回调** 在$.get()和$.post()中,成功回调函数仅在服务器返回的状态码为...

    js打印功能jquery.jqprint-0.3.js

    在需要调用打印功能的地方,使用jQuery的$.fn.jqPrint方法。例如,如果你希望打印一个ID为"printArea"的div元素,可以这样做: ```javascript $("#printArea").jqPrint(); ``` 如果你希望打印整个页面,可以使用`$...

    jQuery-2.2.4.js

    动画效果是jQuery的亮点,$.fn.animate()方法允许开发者创建自定义动画,而$.fn.slideToggle()、$.fn.fadeIn()、$.fn.fadeOut()等预定义的动画函数则提供了常见的过渡效果。 最后,jQuery-2.2.4.js版本中还包含了...

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

    在jQuery库中,`$.fn.extend` 和 `$.extend` 是两个非常重要的功能,用于扩展jQuery对象的功能。它们允许开发者自定义插件和添加新的方法到jQuery实例或jQuery核心对象上。 首先,我们来看`$.fn.extend`。这个方法...

    jquery-confirm设置按钮显示中文

    在引入jQuery和jquery-confirm插件后,我们可以使用$.confirm()方法来创建一个对话框。例如: ```javascript $.confirm({ title: '确认操作', content: '你确定要删除这个文件吗?', buttons: { 确认: function...

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

    3. **事件处理**:jQuery的事件处理方式也十分灵活,`$(element).click(function() {...})`定义了点击事件的处理函数,而`$(element).on('event', function() {...})`则可以绑定多种类型的事件。 4. **动画效果**:...

    jquery.metadata.js和jquery.validate.js

    $.extend($.validator.messages, { required: "这是必填字段。", email: "请输入有效的电子邮件地址。", }); ``` 这两个插件的结合使用,使得在创建注册、登录或其他需要验证的表单时,能够快速实现功能强大且...

    jQuery Ajax 实例详解 ($.ajax、$.post、$.get)

    在 jQuery 中,我们有几种不同的方法来实现 AJAX 请求,包括 $.ajax(), $.post(), 和 $.get()。 1. **$.ajax()**: 这是 jQuery 提供的最全面的 AJAX 方法,可以处理各种复杂的需求。其基本语法如下: ```...

    jquery中 $.expr使用实例介绍

    标题“jquery中 $.expr使用实例介绍”指的是在jQuery中如何使用$.expr来扩展或定义自定义的选择器。$.expr是一个对象,它允许我们添加自定义的属性选择器(例如:[name=value])。这个对象的":“属性(它本身也是一...

    jquery-validation 支持 自定义错误样式

    $.validator.setDefaults({ errorContainer: "div.error", errorLabelContainer: $("#signupForm div.error"), wrapper: "li" }); ``` 这里的`errorContainer`指定了包含所有错误信息的容器,`...

    Jquery表单验证(采用poshytip提示)

    **jQuery表单验证结合Poshytip提示技术** 在Web开发中,用户输入验证是不可或缺的一环,它确保了用户提交的数据符合预设的格式和规则,从而提高数据的准确性和系统的稳定性。本教程将深入探讨如何使用jQuery库,...

    jquery.processing.plugin.js以及详细演示

    **jQuery Processing Plugin.js详解与应用实例** jQuery Processing Plugin.js 是一个基于 jQuery 和 Processing.js 的插件,它将Processing的强大功能引入到Web开发中,使得在网页上创建动态、交互式的图形变得...

    jquery 插件jquery 插件jquery 插件jquery 插件

    jQuery插件通常遵循一定的结构,包括封装在自执行匿名函数中,通过$.fn.extend方法扩展jQuery对象,以及定义选项、事件和公共方法等。下面我们将深入探讨jQuery插件的相关知识点: 1. **创建基础jQuery插件** - 自...

    ajaxFileUpload 报这错jQuery.handleError is not a function

    当你遇到“jQuery.handleError is not a function”的错误时,这意味着在使用ajaxFileUpload过程中,程序尝试调用jQuery的一个错误处理方法,但这个方法在当前版本的jQuery中并未定义。这个问题通常出现在从较旧的...

Global site tag (gtag.js) - Google Analytics