闭包-jQuery插件开发:(function($){})(jQuery); 作用求解!!

问题描述

jQuery插件开发:(function($){})(jQuery); 作用求解!!
开发jQuery插件的时候会用(function($){})(jQuery); 这个闭包函数来包裹,
因为这样写有以下三个好处:
1. 避免全局依赖
2. 避免第三方破坏
3. 兼容jQuery操作符$和jQuery

首先,上面那三个作用是什么意思?
另外,为什么用这个闭包函数包裹就可以达到上面的作用?

先谢过大家~~

解决方案

意思就是插件不会污染顶级对象和全局变量,因为两个插件,或者多个js库同时使用,万一有变量函数对象是同名的就会产生冲突。

解决方案二:
第三个就是防止第三方重新定义过$导致$被污染而不是一定是指向jquery

解决方案三:
闭包使得内部可以访问外面的变量对象,同时内部定义的又不会被外面看见。

时间: 2024-10-03 11:14:13

闭包-jQuery插件开发:(function($){})(jQuery); 作用求解!!的相关文章

JavaScript学习总结(五)——jQuery插件开发与发布

jQuery插件就是以jQuery库为基础衍生出来的库,jQuery插件的好处是封装功能,提高了代码的复用性,加快了开发速度,现在网络上开源的jQuery插件非常多,随着版本的不停迭代越来越稳定好用,在jQuery官网有许多插件: 一.插件开发基础 1.1.$.extend 在jQuery根命名空间下直接调用的方法可以认为是jQuery的静态方法或属性,常常使用$.方法名来调用,使用$.extend这个静态方法可以完成两个功能: 1.1.1.扩展属性或方法给jQuery 比如我们想给jQuery

老司机带你解读jQuery插件开发流程_jquery

jquery插件开发模式 jquery插件一般有三种开发方式: 通过$.extend()来扩展jQuery 通过$.fn 向jQuery添加新的方法 通过$.widget()应用jQuery UI的部件工厂方式创建 第一种$.extend()相对简单,一般很少能够独立开发复杂插件,第三种是一种高级的开发模式,本文也不做介绍.第二种则是一般插件开发用到的方式,本文着重讲讲第二种. 插件开发 第二种插件开发方式一般是如下定义 $.fn.pluginName = function() { //your

jQuery插件开发汇总_jquery

一.jQuery插件开发两个底层方法jQuery.extend([deep ], target [, object1 ] [, objectN ] ) 将两个或更多对象的内容合并到第一个对象. 1.deep 如果是true,合并成为递归(又叫做深拷贝) 2.target 一个对象,如果附加的对象被传递给这个方法将那么它将接收新的属性,如果它是唯一的参数则将扩展jQuery的命名空间,这对于插件开发者希望向 jQuery 中添加新函数时是很有用的. 3.object1 一个对象,它包含额外的属性合

总结jQuery插件开发中的一些要点_jquery

基础 1.jQuery插件开发主要使用如下两个方法: 1.1.添加静态方法 jQuery.extend(object); 为扩展jQuery本身,为类添加新的方法,可以理解文添加静态方法. $.extend({ addMethod : function(a, b){return a + b;} // $.addMethod(1, 2); //return 3 }); 1.2.添加成员方法 jQuery.fn.extend(object); jQuery.fn = jQuery.prototype

前端-jQuery插件开发-为什么要用extend()方法?

问题描述 jQuery插件开发-为什么要用extend()方法? 我知道jQuery插件开发中有一种是extend,是合并对象用的. 为什么要用jQuery.extend() 的方法扩展jQuery方法? 而不是直接用jQuery.pluginname = function(){} 这样的方法? 在我看来这两种都是直接在jQuery命名空间下加一个方法,那为什么更推荐使用extend方法来扩展?? 解决方案 jQuery插件开发中的extend方法jquery插件开发方法jquery插件开发方法

jQuery 插件开发指南_jquery

那么首先我们来简单的看一下最正统的 jQuery 插件定义方式: 复制代码 代码如下: (function ($) {     $.fn.插件名 = function (settings) {         //默认参数         var defaultSettings = {           }         /* 合并默认参数和用户自定义参数 */          settings = $.extend(defaultSettings, settings);   return

jQuery插件开发的五种形态[转]

这篇文章主要介绍了jQuery插件开发的五种形态小结,具体的内容就是解决javascript插件的8种特征,非常的详细. 关于jQuery插件的开发自己也做了少许研究,自己也写过多个插件,在自己的团队了也分享过一次关于插件的课.开始的时候整觉的很复杂的代码,现在再次看的时候就清晰了许多.这里我把我自己总结出来的东西分享出来,帮助那些和我一样曾经遇到过同样问题的人. 我要做什么 我想要得到的javascript 插件应该会有以下几个特征: [ ] 代码相对独立 [ ] 链式操作 [ ] 插件可配置

jQuery插件开发的五种形态小结_jquery

关于jQuery插件的开发自己也做了少许研究,自己也写过多个插件,在自己的团队了也分享过一次关于插件的课.开始的时候整觉的很复杂的代码,现在再次看的时候就清晰了许多.这里我把我自己总结出来的东西分享出来,帮助那些和我一样曾经遇到过同样问题的人. 我要做什么 我想要得到的javascript 插件应该会有以下几个特征 代码相对独立 链式操作 插件可配置 有可操作的方法,插件的生命周期可控制 配置可被缓存 可扩展 无冲突处理 事件代理,动态初始化 * 以下的代码均假设存在 jQuery 插件的第一形

JQuery插件开发教程

原文:JQuery插件开发教程 要说jQuery 最成功的地方,我认为是它的可扩展性吸引了众多开发者为其开发插件,从而建立起了一个生态系统.这好比大公司们争相做平台一样,得平台者得天下.苹果,微软,谷歌等巨头,都有各自的平台及生态圈. 学会使用jQuery并不难,因为它简单易学,并且相信你接触jQuery后肯定也使用或熟悉了不少其插件.如果要将能力上升一个台阶,编写一个属于自己的插件是个不错的选择. 本教程可能不是最精品的,但一定是最细致的. jQuery插件开发模式 软件开发过程中是需要一定的