首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

使用 jQuery 创建自己的插件-2 插件规则

使用 jQuery 创建自己的插件-2 插件规则

插件规则jQuery 团队建立了许多希望插件作者都能遵守的通用规则,为插件用户创建一个通用而可信的环境。考虑到 jQuery 团队比我聪明多了,我没有理由违背这些规则,对不对?出于该原因,我在此列出这些规则,并且在插件的每一步都尽量遵守这些规则。
  • 文件命名为 “jquery.<your plug-in                     name>.js”
    这是有道理的,因为您希望用户查看文件时立即知道这是一个 jQuery 插件以及这是哪个插件。检查完毕。我的插件将命名为 “jquery.numberformatter.js”。
  • 所有新方法都附加到 jQuery.fn 对象,所有新功能都附加到 jQuery 对象
    现阶段这可能有点难以理解,在下一节我将讨论更多内容,因为这是实际编码过程中最重要的规则。检查完毕。我的方法/函数将仅附加到这两个对象。
  • “this” 用于引用 jQuery 对象
    这有利于插件作者的编写,它让所有插件作者在引用 “this” 时都知道将从 jQuery 收到哪个对象。检查完毕。我将仅使用 “this” 引用 jQuery 对象。
  • 插件中定义的所有方法/函数的末尾都必须带有一个 “;”(分号),否则将不利于代码的最小化。
    因为这是最小化 JavaScript 文件的最佳实践,大于最小值会很糟糕,您的插件有可能很快就被抛弃。检查完毕。所有的方法/函数都将以 “;” 结尾。
  • 除有特别注明外,所有方法都必须返回 jQuery 对象
    jQuery 方法的顺序链 (daisy-chaining) 非常著名,如果您编写打破链条的插件,它就一定会 “打破链条”。                     检查完毕。我的 format() 方法将返回 jQuery 对象,虽然我的 parse() 方法没有返回 jQuery 对象,但我在很多地方都注明该函数打破了链条。(毕竟,它不可能返回一个 Number 对象而不打破链条)。
  • 您应该总是使用 this.each() 迭代匹配的元素,这是一种可靠而有效地迭代对象的方式。
    出于性能和稳定性考虑,他们推荐所有的方法都使用它迭代匹配的元素。                      检查完毕。我的方法都将只使用该方法迭代匹配的元素。
  • 总是在插件代码中使用 “jQuery” 而不是 “$”
    这很重要,它使与 “$” 有冲突的用户(那些使用另一个 JavaScript 库的用户)能够使用 “var JQ                     = jQuery.noConflict();” 函数更改他们的 jQuery 别名(pseudonym)。但是,在我查看许多插件时,我发现该规则常常得不到遵守,这太不幸了。如果开发人员需要更改 jQuery 别名,那么很可能意味着该插件要被弃用了。                     检查完毕。在我的插件中,我将仅使用 jQuery 而不是它的别名 “$”。
好了,这些就是在插件代码中必须遵守的规则和建议。真正的问题在于,它们实际上是强制性的,因为如果您不遵守这些插件规则,那么您的插件就得不到广泛应用,而且还会得到不好的反馈。结果该插件很快就没有人使用了,您所花费的时间都将白费。因此,遵守这些规则非常重要。这不仅能帮助您鹤立鸡群,保证您代码的统一性,还能增加插件的成功几率。
第 2 步结果:我将遵守创建 jQuery 插件的所有规则
返回列表