能让网友们快速学开发jQuery插件的10大技巧.docVIP

能让网友们快速学开发jQuery插件的10大技巧.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
能让网友们快速学开发jQuery插件的10大技巧

快速开发 jQuery 插件的 10 大技巧 在开发过很多 jQuery 插件以后,我慢慢的摸索出了一套开发jQuery插件比较标准的结构和模式。这样我就可以 copy paste 大部分的代码结构,只要专注最主要的逻辑代码就行了。 使用相同的设计模式和架构也让修复bug或者二次开发更容易。 一套经过验证的架构可以保证我的插件不出大的问题,不论插件简单还是复杂。 在这里分享10条总结的经验。 1. 把你的代码全部放在闭包里面 这是我用的最多的一条。但是有时候在闭包外面的方法会不能调用。不过你的插件的代码只为你自己的插件服务,所以不存在这个问题,你可以把所有的代码都放在闭包里面。而方法可能应该放在Prototype方法内部,我们后面会讲到这一点。 function $ //code here jQuery ; 2. 提供插件的默认选项 你的插件应该会有一些选项是可以让开发者设置的,所以提供恢复默认选项是以有必要的。你可以通过jQuery的extend功能来设置这些选项: var defaultSettings mode : Pencil, lineWidthMin : 0′, lineWidthMax : 10′, lineWidth : 2′ ; settings $.extend , defaultSettings, settings || ; 3. 使用返回一个元素 JavaScript/jQuery有一个很好的特点就是可以进行方法级联,所以我们不应该破坏这个特性,始终在方法中返回一个元素。我在我的每一个jQuery插件中都遵守这一条。 $.fn.wPaint function settings return this.each function var elem $ this ; //run some code here 4. 一次性代码放在主循环以外 这一条很重要,但是常常被忽略。简单的讲,如果你有一段代码是一堆默认值,只需要被实例化一次,而不是每次调用你插件功能的时候都实例化,你应该把 这段代码放在插件方法的外面。这样可以让你的插件运行的更高效,节省内存。我们将会在后面讨论prototype的时候,看这个方法在实际中的运用。 var defaultSettings mode : Pencil, lineWidthMin : 0′, lineWidthMax : 10′, lineWidth : 2′ ; $.fn.wPaint function settings settings $.extend , defaultSettings, settings || ; return this.each function var elem $ this ; //run some code here 你可以注意到,上面代码中的defaultSettings是完全在插件方法外面的,由于这些代码是在闭包里面,我们不用担心这些变量被重写。 5. 为什么要设置 Class Prototyping 作为你代码的血与肉,方法和函数应该放在prototype函数内。有两个原因: ◆ 它可以节省很多内存,因为可以不用重复创建这些方法。 ◆ 引用一个现成的方法比重新创建一个好快很多。 简单的说,prototype就是扩展了一个对象,为它提供方法,而不用在每一个对象中实例化这些方法。这也让你的代码更有条理和高效。一旦你习惯这种开发方式,你会发现它在你将来的项目中为你节省了很多时间。 6. 如何设置 Class Prototyping 设置一个 prototype 方法有两个部分。首先我们需要创建我们最初的类定义,在多数情况下这就意味着创建一个对象。这个定义包含了每一个对象实例都不同的部分。在我的Paint jQuery Plugin 插件中,我是这么写的: function Canvas settings this.settings settings; this.draw false; this.canvas null; this.ctx null; return this; 下面来添加全局的方法: Ctotype generate: function //generate code 这里的关键是要让prototype的方法是通用的,但是数据是每个实例自己的,可以用this引用。 7. 使用 this 对象 通过使用$this,我们可以向别的闭包传递正确的引用。我们也可能需要向别的方法传入 $this 引用。需要注意的是, $this 这个名字是可以改的,任意的变量名都可以。 Ctotype generate: function //some c

文档评论(0)

fpiaovxingl + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档