本书主要是讲解了怎么样使自己写的代码更具可读性和可维护性。是初学javascript同学需要看的一本书。本人就看后做的一些笔记拿来分享。
本书主要分为三部分:
第一部分:编程风格
第二部分: 编程实践
第三部分:自动化
这一篇主要总结的是第一部分编程风格。
callAFunc(arg1, arg2, arg3, arg4, arg5, arg6, arg7,
arg8,arg9);
6.空行
在某些代码的地方适当的运用空行可以增加代码的可读性;
(1)在方法之间
(2)在方法的局部变量和第一条语句之间
(3)在多行或单行注释之前
(4)在方法内部逻辑片段之间插入空行(或注释),提高可读性
7.命名
javascript典型的命名规则是驼峰命名法,首字母小写,其后每个单词 首字母大写。
在给变量和函数命名的时候 :
变量尽量用名词命名
函数用动词命名(can, has, is, get, set)
常量命名一般都用全大写加个“_”
构造函数 首字母大写
例如:
// 变量
var myName="nike";
// 常量
var MAX_LENGTH = 10;
// 函数
var getName= function() {
return "nike";
}
//构造函数
function Person(name,age) {
this.name=name;
this.age=age;
}
必要的注释可以增强自己代码的可读性。也方便以后自己查看自己代码时不会忘记当初为什么这么写。
1、 注释主要有两种
(1)单行注释
(2)多行注释
// 这是单行注释
var count = 10;
var count = 19; //这是放在行尾的单行注释
/*
* 这是多行注释的第一行
* 这是多行注释的第二行
* ...
* /
// 文档注释 一般用于介绍函数参数和返回值
/**
* method 方法名 用来做什么的
* @param arg1是干嘛的
* @return {object} object是什么什么的返回值
* /
本章主要介绍了各语句的规范写法 如 if for循环 switch语句等。
1. 即使if语句只有一个执行语句 也不建议不加花括号。
// 规范的if语句写法
if (condition) {
doSomething();
}
2.for循环
有两种方法可以更改for循环的执行过程:
(1)break 跳出循环体 立即结束循环
(2)continue 跳出此次循环 执行下一次循环
不建议使用continue语句,某些代码审查工具JSLint会给出警告,尽量使用其他方式代替掉continue语句 如 if(i !=2){执行体};
3.for-in循环
for-in循环是用来遍历对象属性的。它不仅遍历对象的实例属性 还会遍历对象的原型继承属性。如果不想要遍历原型继承的属性可以使用对象的hasOwnProperty()方法;例如:
var k;
for(k in object) {
if(object.hasOwnProperty(k)) {
console.log("Property name is" + k);
console.log("Property value is" + object[k]);
}
}
1.变量声明提升
javascript 会有一个变量名提升的现象,所以在写函数的时候可以把需要声明的变量提前声明好。例如好的写法:
function doSometing(items) {
var value = 10,
result = value + 10,
i,
len;
for(i=0,len=items.length; ii++) {
doSomething(items[i]);
}
}
2.函数声明提升
函数也存在声明提升问题,虽然可以先调用 后声明,但是以防万一而且某些代码审查工具如JsLint 和JsHint都会给出警告。所以建议还是先声明再调用。
3.立即调用函数
当把一个立即调用函数的返回值赋值给变量时,最好是用()将立即函数包裹起来,否则除非你读完最后的调用语句()才知道是将函数的结果返回值赋给该变量的 例如:
// 不好的写法
var value = function() {
//函数体;
return {
name : "nike"
}
}();
// 好的写法
var value =(function() {
//函数体;
return {
name : "nike"
}
}());