这几天读完 编写可维护的javascript笔记 这几做个简单的笔记记录。
1.基本的格式化
一直的缩进,不要省略分号
换行
一行代码不要太长。代码太长要换行:应该在运算符之后换行,如逗号之后。第二行应该加两个缩进。
例如1
2
3
4if (template %%template %%template %%template %%
template %%){
say();
}
给变量赋值换行时,第二行与赋值运算对其
例如1
2
3var str=null;
str="<div>templatetemplatetemplatetemplate"+
"</div>"
添加空行
语义不相关的代码之间,方法之间。局部变量和第一条语句之间。注释之前
命名
这里主要是类似驼峰命名,构造函数的第一个字母大写.例如:1
2
3
4
5
6
7
8
9
10
11
12function 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
2var a=null;
a="zone";
对象直接量,数组直接量
简单来说,就是创建对象的时候直接写对象量。不用先new
,然后在天津属性,数组也是同理,直接写数组1
2
3
4
5 var zone={
name:"zone";
};
var colors=["red","green"];
注释
这里没啥好说的
语句表达式
花括号
快语句要用花括号,左花括号{
放一行末尾,不要放换行开始,例如:1
2
3
4var a=2;
if(a>0){
console.log(a+"大于0")
}
for-in
循环
作用:遍历对象属性。不仅遍历对象的实例属性,还遍历从原型继承来的属性。 不要用来遍历数组。 最好用 hasOwnProperty()
过滤出实例属性。除非想查找原型链,应该注释。1
2
3
4
5for(var prop in obj){
if(obj.hasOwnProperty(prop)){
code
}
}
变量、函数、运算符
变量
建议在最开始定义变量。建议合并var
语句。例如:1
2
3var name="zone",
age="22",
where="china";
函数声明
建议函数内部的局部函数应紧接着变量声明后声明。不要在语句块内声明函数。
匿名函数
一般匿名函数使用方法如下1
2
3(function(){
console.log("zone");
})()
相等判断
一般建议使用===
和!==
;例如:
避免使用全局变量
这里方法一般是 使用自执行函数形成闭包,例如:1
2
3(function(){
code...
})();