- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
如何写出高质量代码教程
如何写出高质量、高稳定、高性能、的JS代码;JavaScript现状;高质量;//不推荐使用
function foo() {
var a = b = 0;
// ...
}
//推荐使用
function foo() {
var a, b;
// ... a = b = 0; // 两个均局部变量
};2.单var形式
在函数顶部使用单var语句是比较有用的一种形式,其好处在于:
提供了一个单一的地方去寻找功能所需要的所有局部变量
防止变量在定义之前使用的逻辑错误
帮助你记住声明的全局变量,因此较少了全局变量
这种初始化变量同时初始化值的做法是很好的。这样子可以防止逻辑错误(所有未初始化但声明的变量的初始值是undefined)和增加代码的可读性。在你看到代码后,你可以根据初始化的值知道这些变量大致的用途,例如是要当作对象呢还是当作整数来使。;3.for循环(for Loops)
for (var i = 0; i myarray.length; i++) {
// ..
}
这种形式的循环的不足在于每次循环的时候数组的长度都要去获取下。这会降低你的代码性能,尤其当myarray不是数组,而是一个HTMLCollection对象的时候。
HTMLCollections指的是DOM方法返回的对象,例如:
document.getElementsByName()
document.getElementsByClassName()
document.getElementsByTagName()
这意味着每次你访问任何集合的长度,你要实时查询DOM,而DOM操作一般都是比较昂贵的。
这就是为什么当你循环获取值时,缓存数组(或集合)的长度是比较好的形式,正如下面代码显示的:
for (var i = 0, max = myarray.length; i max; i++) {
// ..
};4.switch模式(switch Pattern)
每个case以break清除结束;
以default结束switch:确保总有健全的结果,即使无情况匹配。
缩进; 5.避免 eval()
此方法接受任意的字符串,并当作JavaScript代码来处理。如果你绝对必须使用eval(),你 可以考虑使用new Function()代替。
6.编码规范
建立和遵循编码规范是很重要的, 这让你的代码保持一致性、可预测、更易于阅读和理解。一个新的开发者加入这个团队可以通读规范,理解其它团队成员书写的代码,更快上手干活。
7.缩进
8. 花括号{}
for (var i = 0; i 10; i += 1) alert(i);
for (var i = 0; i 10; i += 1){
alert(i);
};9.空格
空格的使用同样有助于改善代码的可读性和一致性。
for循环分号分开后的的部分:如for (var i = 0; i 10; i += 1) {...}
for循环中初始化的多变量(i和max):for (var i = 0, max = 10; i max; i += 1) {...}
分隔数组项的逗号的后面:var a = [1, 2, 3];
对象属性逗号的后面以及分隔属性名和属性值的冒号的后面:var o = {a: 1, b: 2};
限定函数参数:myFunc(a, b, c)
函数声明的花括号的前面:function myFunc() {}
匿名函数表达式function的后面:var myFunc = function () {}
;下面是一些常见的_private规范:
使用尾下划线表示私有,如name_和getElements_()
使用一个下划线前缀表示_protected(保护)属性,两个下划线前缀表示__private (私有)属性
11.注释
你必须注释你的代码,即使不会有其他人向你一样接触它。通常,当你深入研究一个问题,你会很清楚的知道这个代码是干嘛用的,但是,当你一周之后再回来看的时候,想必也要耗掉不少脑细胞去搞明白到底怎么工作的。
;高稳定性;
目前 JS 单元测试框架有丰富的选择,比如 :
Qunit
Buster.js
TestSwarm
JsTestDriver
Jasmine
FireUnit
...;简介
QUnit是jQuery团队开发的JavaScript单元测试工具,功能强大且使用简单。目前所有的JQuery代码都使用QUnit进行测试,原生的JavaScript也可以使用QUnit。
您可能关注的文档
最近下载
- 清远水务集团招聘试题.pdf
- 园林花卉课程标准.docx VIP
- 初中物理新课程标准解读课件.pptx VIP
- 改革开放与社会主义现代化建设新时期+课件-高考统编版必修中外历史纲要上一轮复习.pptx
- 2024新能源智慧光伏风电场应用功能.docx
- 七年级数学上册4.2 直线、射线、线段(第2课时)线段长短的比较与运算(教学设计).docx VIP
- T CACM 糖尿病前期治未病干预指南.pdf VIP
- 2024年园林绿化工高级技师知识考试题库(带答案).pdf
- 2024南方电网能源发展研究院岗位招聘公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版.docx
- 天然气冷热电三联供分布式能源的发展课件.ppt
文档评论(0)