作家
登录

jQuery创建插件的代码分析

作者: 来源:www.28hudong.com 2013-03-30 00:54:50 阅读 我要评论

创建jQuery插件,基本的格式是上面这段代码: 复制代码 代码如下: (function ($) { //add code here })(jQuery) 我们怎么理解? 第一步:function ($){}定义了一个匿名的函数,有一个参数,$是参数名,和其他的参数名没什么区别。 第二步:(function ($){})(jQuery) 我们要执行一个匿名函数的时候,通常用var func = function ($) { },然后func(参数)这样的形式。这里func就是一个Function对象。但更简洁的(function ($) {}),这时用括号,也同样返回括号的内容,也是一个function对象。我们再执行就可以了:(function ($) {})(jQuery) 第三步:这时我们实际上是执行上面定义的匿名函数,执行的时候为该匿名函数提供一个参数值:jQuery。 第四步:所以最终上面的表达等价于: var func = function($) { }; func(jQuery); 即定义匿名函数,并以jQuery为参数执行一次。 这里的作用是什么呢? 1、解决$符号冲突问题 jQuery中我们用$来代替jQuery,这是为了简化写法。但$这个符号有时候会冲突。 在上面匿名函数的代码中,我们可以习惯性的用$来写,但执行的时候会用jQuery来代替,这就避免了变量的冲突。 2、解决闭包问题: 一般直接写在脚本里的函数,执行后其中未销毁的变量是继续存在,并能够正常访问的。这个和我们一向理解的函数私有变量是不符的。 但我们用这种方式,将需要的所有函数都包在这个匿名函数里,则其中的局部变量,在外部将不能访问,变相的起到了创建私有的局部变量的作用。只有this.开头的那些成员,才是插件外部可以访问的。

  推荐阅读

  基于jquery的监控数据是否发生改变

这样之前的功夫又白费了。解决这些问题的办法就是:监控页面数据是否发生变化。如果发生变化,提示用户保存。如果数据未发生变化。当我们点击保存时,也不需要提交到数据库。 接下来看看解决办法: 复制代码 代码如>>>详细阅读


本文标题:jQuery创建插件的代码分析

地址:http://www.17bianji.com/kaifa2/JS/24678.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)