开启辅助访问
帐号登录 |立即注册

JS编码的一些良好习惯和最佳实践

 
命名约定
1、变量和函数名以驼峰大小写来写
全局变量使用大写(我们不这样做,但是相当普遍)
常量(比如 PI)使用大写
firstName = "Bill";
lastName = "Gates";

2、始终在运算符( = + - * / )周围以及逗号之后添加空格
var x = y + z;
var values = ["Volvo", "Saab",  "Fiat"];

3、请始终使用对代码块缩进使用 4 个空格
function toCelsius(fahrenheit) {
       return (5 / 9) * (fahrenheit - 32);
}

语句规则
4、请始终以分号结束单条语句。
5、请在第一行的结尾处写开括号。
6、请在开括号前使用一个空格。
7、请在新行上写闭括号,不带前导空格。
8、请不要以分号来结束复杂语句。

对象规则
9、把开括号与对象名放在同一行
10、在每个属性与其值之间使用冒号加一个空格
11、不要在最后一个属性值对后面写逗号
12、请在新行上写闭括号,不带前导空格
13、请始终以分号结束对象定义

var person = {
      firstName: "Bill",
      lastName: "Gates",
      age: 19,
      eyeColor:  "blue"
};

14、行长度小于 80
为了提高可读性,请避免每行的长度超过 80 个字符。
如果 JavaScript 语句超过一行的长度,换行的最佳位置是运算符或逗号之后。

15、避免全局变量
请尽量少地使用全局变量。
它包括所有的数据类型、对象和函数。
全局变量和函数可被其他脚本覆盖。
请使用局部变量替代,并学习如何使用闭包。

16、始终声明局部变量
所有在函数中使用的变量应该被声明为局部变量。
局部变量必须通过 var 关键词来声明,否则它们将变成全局变量。
严格模式不允许未声明的变量。

17、在顶部声明
一项好的编码习惯是把所有声明放在每段脚本或函数的顶部。
这么做的好处是:
获得更整洁的代码
提供了查找局部变量的好位置
更容易避免不需要的全局变量
减少不需要的重新声明的可能性

18、初始化变量
在您声明变量时对其进行初始化是个好习惯。
这么做的好处是:
更整洁的代码
在单独的位置来初始化变量
避免未定义值

19、请不要声明数值、字符串或布尔对象
请始终将数值、字符串或布尔值视作原始值。而非对象。
如果把这些类型声明为对象,会拖慢执行速度,并产生讨厌的副作用:

var x = "Bill";            
var y = new String("Bill");
(x === y) // 结果为 false,因为 x 是字符串,而 y 是对象。
var x = new String("Bill");            
var y = new String("Bill");
(x == y) // 结果是 false,因为你无法比较对象。

20、请勿使用 new Object()

JavaScript 提供原始数据类型字符串、数字和布尔的对象版本。但是并无理由创建复杂的对象。原始值快得多!
请使用对象字面量 {} 代替 new Object()。
请使用字符串字面量 "" 代替 new String()。
请使用数值字面量代替 Number()。
请使用布尔字面量代替 new Boolean()。
请使用数组字面量 [] 代替 new Array()。
请使用模式字面量代替 new RexExp()。
请使用函数表达式 () {} 代替 new Function()。

21、意识到自动类型转换
请意识到数值会被意外转换为字符串或 NaN(Not a Number)。
JavaScript 属于松散类型。变量可包含不同的数据类型,并且变量能够改变其数据类型:
var x = "Hello";     // typeof x 为字符串
x = 5;               // 把 typeof x 更改为数值
var x = 5 + 7;       // x.valueOf() 是 12,  typeof x 是数值
var x = 5 + "7";     // x.valueOf() 是 57,  typeof x 是字符串
var x = "5" + 7;     // x.valueOf() 是 57,  typeof x 是字符串
var x = 5 - 7;       // x.valueOf() 是 -2,  typeof x 是数值
var x = 5 - "7";     // x.valueOf() 是 -2,  typeof x 是数值
var x = "5" - 7;     // x.valueOf() 是 -2,  typeof x 是数值
var x = 5 - "x";     // x.valueOf() 是 NaN, typeof x 是数值

22、用大写首字母对构造器函数命名是个好习惯。
function Person(first, last, age, eye) {
    this.firstName = first;
    this.lastName = last;
    this.age = age;
    this.eyeColor = eye;
}

以上就是本文的全部内容,感谢大家支持JScript之家——编程学习者社区!
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

友情链接
  • 艾Q网

    提供设计文章,教程和分享聚合信息与导航工具,最新音乐,动漫,游戏资讯的网站。