jQuery的编码标准和最佳实践
加载jQuery
1.坚持使用CDN来加载jQuery,这种别人服务器免费帮你托管文件的便宜干嘛不占呢。点击查看使用CDN的好处,点此查看一些主流的jQuery CDN地址。
2.安全起见,最好还是提供一个本地备份以便在无法从远程CDN服务器获取jQuery时网站也能工作,如上面代码所示。详情见此。
3.使用裸协议的URL(也就是说去掉http:或者https:),如上面代码展示的那样。
4.如果可能,尽量将你的JavaScript和jQuery代码放到页面底部。详情移步这里,或者查看一个HTML5页面标准模板。
5.该使用哪个版本?
如果你想兼容IE678请表用2.x的版本
针对极少数不用考虑兼容性的幸运儿,极力推荐使用最新版本的jQuery
当从CDN服务器加载jQuery时,最好把版本写全(比如1.11.0而不是1.11或者直接写个1)
千万莫重复加载
6.如果你同时还使用了其他JS框架诸如Prototype, MooTools, Zepto云云,因为他们也使用了$
符号,所以你就表再用美刀符号来进行jQuery
编码了,而请用’jQuery’代替。并且调用保证$.noConflict()
不会有冲突出现。
7.要检测浏览器对一些新特性是否支持,请用Modernizr。
关于变量
1.jQuery类型的变量最好加个$前缀。
2.时常将jQuery选择器返回的内容存进变量以便重用
3.使用驼峰命名
关于选择器
1.尽量ID选择器。其背后机理其实是调用原生的document.getElementById()
,所以速度较其他选择器快。
2.使用类选择器时表指定元素的类型。不信你看这个性能比较
3.ID父亲容器下面再查找子元素请用.find()
方法。这样做快的原因是通过id选择元素不会使用Sizzle引擎。详情看这里
4.多级查找中,右边尽量指定得详细点而左边则尽量简单点。了解更多
6.指定选择的上下文。
7.表使用万能选择器。查看具体阐释
8.警惕隐式的万能选择器。省略的情况下其实使用的就是*号通配符。更多信息
9.ID已经表示唯一了,背后使用的是document.getElementById()
,所以表跟其他选择器混搭了。
DOM操作相关
1.操作任何元素前先将其从文档卸载,完了再贴回去。这事儿还能说细点
2.代码里将HTML组织好后再一次性贴到DOM中去。具体来说,性能比较
3.不要处理不存在的元素。详情
事件相关
1.一个页面只写一个文档ready事件的处理程序。这样代码既清晰好调试,又容易跟踪代码的进程。
2.表用匿名函数来做事件的回调。匿名函数不易调试维护测试和复用。或许你想较真,看看这里吧
3.处理文档ready事件的回调也表用匿名函数,匿名函数不易调试维护测试和复用:(
4.进一步,最好也将ready事件的处理程序放到外部文件中引入到页面,而页面中内嵌的代码只需调用即可。
5.千万表写内联到HTML的JS代码,这是调试的梦魇!应该总是用jQuery来绑定事件自带程序,这样也方便随时动态地取消绑定。
6.如果可能尽量在绑定事件处理程序时使用一个命名空间,这样可以方便地取消绑定而不会影响其他绑定。
异步操作
1.直接用$.ajax()而表去用.getJson() 或 .get(),因为jQuery内部还是将其转为前者
2.表对HTTPS站点使用HTTP去发起请求,最好干脆就表指定(将HTTP或者HTTPS从你的URL中移除)
3.表在链接里面嵌参数,请使用专门的参数设置来传递
4.尽量指明数据类型以便你自己清楚要处理什么样的数据(见下方会提到的Ajax模板)
5.对于异步动态加载的内容,最好使用代理来绑定事件处理程序。这样的好处是对于之后动态加载的元素事件同样有效。你或许想了解更多
6.使用Promise模式。更多例子
7.标准的Ajax模板一分。追寻根源
动画与特效
1.保持一个始终如一风格统一的动画实现
2.紧遵用户体验,表滥用动画特效
使用简洁的显示隐藏,状态切换,滑入滑出等效果来展示元素
使用预设值来设置动画的速度’fast’,’slow’,或者400(中等速度)
插件相关
1.始终选择一个有良好支持,完善文档,全面测试过并且社区活跃的插件
2.注意所用插件与当前使用的jQuery版本是否兼容
3.一些常用功能应该写成jQuery插件。一分jQuery插件的编写模板
链式句法
1.除了用变量将jQuery选择器返回的结果保存,还可以利用好链式调用。
2.当链式调用多达3次以上或代码因绑定回调略显复杂时,使用换行和适当的缩进来提高代码的可读性。
3.对于特别长的调用最好还是用变量保存下中间结果来简化代码。
其他
1.使用对象字面量来传递参数
2.表将CSS与jQuery杂揉
3.时刻关注官方Changelog,表使用摒弃了的方法。点此查看所有废弃的方法
4.适时地使用原生JavaScript。一些与此有关的性能比较
REFERENCE
转自:http://www.cnblogs.com/Wayou/p/jquery_best_practise.html
原文:Coding Standards & Best Practices http://lab.abhinayrathore.com/jquery-standards/
原文的reference
jQuery Performance: http://learn.jquery.com/performance/
jQuery Learn: http://learn.jquery.com
jQuery API Docs: http://api.jquery.com/
jQuery Coding Standards and Best Practice: http://www.jameswiseman.com/blog/2010/04/20/jquery-standards-and-best-practice/
jQuery Plugin Boilerplate: http://stefangabos.ro/jquery/jquery-plugin-boilerplate-revisited/
建议继续学习:
- JQuery实现Excel表格呈现 (阅读:46536)
- 分享一个JQUERY颜色选择插件 (阅读:12719)
- jQuery插件---轻量级的弹出窗口wBox. (阅读:9702)
- 10个强大的Ajax jQuery文件上传程序 (阅读:7776)
- jQuery的data()方法 (阅读:7635)
- jQuery性能优化指南 (阅读:7381)
- jQuery Color Animations颜色动画插件 (阅读:7144)
- 精于图片处理的10款jQuery插件 (阅读:6283)
- jQuery中getJSON跨域原理详解 (阅读:5638)
- 配合jquery实现异步加载页面元素 (阅读:5386)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:天涯孤雁 来源: WEB前端开发
- 标签: jQuery 标准
- 发布时间:2014-11-22 23:20:57
- [70] IOS安全–浅谈关于IOS加固的几种方法
- [69] Twitter/微博客的学习摘要
- [64] 如何拿下简短的域名
- [63] android 开发入门
- [62] Go Reflect 性能
- [61] find命令的一点注意事项
- [59] 流程管理与用户研究
- [58] 图书馆的世界纪录
- [57] Oracle MTS模式下 进程地址与会话信
- [56] 【社会化设计】自我(self)部分――欢迎区