编写可维护的javaScript

       这几天读完 编写可维护的javascript笔记 这几做个简单的笔记记录。

1.基本的格式化

一直的缩进,不要省略分号

换行

一行代码不要太长。代码太长要换行:应该在运算符之后换行,如逗号之后。第二行应该加两个缩进。
例如

1
2
3
4
if (template %%template %%template %%template %%
template %%){
say();
}

给变量赋值换行时,第二行与赋值运算对其
例如

1
2
3
var str=null;
str="<div>templatetemplatetemplatetemplate"+
"</div>"


添加空行

语义不相关的代码之间,方法之间。局部变量和第一条语句之间。注释之前

命名

这里主要是类似驼峰命名,构造函数的第一个字母大写.例如:

1
2
3
4
5
6
7
8
9
10
11
12
function People(name){
this.name=name;
}

People.prototype={
init:function(){
var _this=this;
console.log(_this.name);
}
}

var me=new People("zone");


字符串

字符串相加换行用”+”


数字

不要省略小数点后面0,另外和CSS简写不一样。这里经量别简写


null的使用

这里null的感觉就相当于一个占位符,应该用null的场景

  • 初始化一个变量,改变量以后要赋值为对象
    1
    2
    var a=null;
    a="zone";

对象直接量,数组直接量

简单来说,就是创建对象的时候直接写对象量。不用先new,然后在天津属性,数组也是同理,直接写数组

1
2
3
4
5
 var zone={
name:"zone";
};

var colors=["red","green"];


注释

这里没啥好说的

语句表达式

花括号

快语句要用花括号,左花括号{放一行末尾,不要放换行开始,例如:

1
2
3
4
var a=2;
if(a>0){
console.log(a+"大于0")
}


for-in循环

作用:遍历对象属性。不仅遍历对象的实例属性,还遍历从原型继承来的属性。 不要用来遍历数组。 最好用 hasOwnProperty() 过滤出实例属性。除非想查找原型链,应该注释。

1
2
3
4
5
for(var prop in obj){
if(obj.hasOwnProperty(prop)){
code
}
}


变量、函数、运算符

变量

建议在最开始定义变量。建议合并var语句。例如:

1
2
3
var name="zone",
age="22",
where="china";


函数声明

建议函数内部的局部函数应紧接着变量声明后声明。不要在语句块内声明函数。

匿名函数

一般匿名函数使用方法如下

1
2
3
(function(){
console.log("zone");
})()

相等判断

一般建议使用===!==;例如:


避免使用全局变量

这里方法一般是 使用自执行函数形成闭包,例如:

1
2
3
(function(){
code...
})();