<强> 1,使用严格的模式强>
在一个作用域(包括函数作用域,全局作用域)中,可以使用
"使用严格”;
引用>来开启严格模式。
<强> 2,缩进强>
用Tab键进行代码缩进,以节约代码大小,使用4个空格的宽度来进行缩进(JSLint建议)。
<强> 3,符号强>
1)大括号
与语句放同一行,放于最后面;仅有一行语句,也使用大括号:
如果(真){//正确的 其他}{//错误 }而(真){//提醒(1); }2)空格
在逗号,分号,冒号后加空格
在操作符前后加空格
在大括号开始符之前
在大括号结束符和别的,而或捕获之间
在对的各个部分
如:var=(1、2、3); var obj={ 名称:“名字”, 价值:“价值” }; (var=0;我& lt;10;我+ +){} 函数func (a, b, c) {} c=a + b; 如果一个,,b | | c) {//如果 其他}{//其他 } 尝试{//试 }捕捉(err) {//捕获 }3)所有语句结束后,使用;号结束
<强> 4,命名强>
对象:使用驼峰式,如:MyClass
方法,变量:使用混合式,如:getName(),名字
常量:大写加下划线,如:MY_NAME<强> 5,单一var模式强>
只使用一个var在函数顶部进行变量声明,作用如下:
1)提供一个单一的地址已查找到函数需要的所有局部变量
2)防止出现变量在定义前就被使用的逻辑错误
3)帮助牢记要声明变量,尽可能少地使用全局变量
4)更少的编码函数func () { var=1, b=2, 和=a + b, obj={ 名称:“名字”, 价值:“价值” }, btn=美元(# btn);//函数体 }<强> 6,循环强>
1)循环
var我,arr=[]; (我=arr.length;我——;){//arr[我]; } >之前 注:
(var=0;我& lt;document.getElementsByName . length ();我+ +){//document.getElementsByName () [0]; }这种方式每次对我进行长度比较的使用对会进行文档的查询,而通常DOM操作是非常耗时的。
2)而循环
var arr=[], 我=arr.length; 虽然(我){//处理 }3)工党循环
var我, hasOwn=Object.prototype.hasOwnProperty; (我在男人){ 如果(hasOwn。调用(人,我)){//过滤 控制台。日志(‘:’,我男人[我]); } }7,开关选择
开关(num) { 例0://做某事 打破; 案例1://做某事 打破; … 默认值://默认 }建议使用:
var obj={ ' 0 ':函数(){//做什么 }, ' 1 ':函数(){//做somethis },…… } 如果(obj.hasOwnProperty (num)) { obj (num) (); 其他}{//默认 }<强> 8,使用方法()的数值约定强>
1)每次都具体指定进制参数:
var月=?9”,天=?8”; 10月=方法(月);//不加进制参数便会转换为八进制 天=方法(天,10);2)其他常用的将字符串转换为数值的方法:
+“08”; 数量(08年);<强> 9字面量模式强>
不建议使用构造函数来定义:
//建在构造函数(避免) var o=新对象(); var=new Array (); var re=new RegExp (“[a - z]”,“g”); var s=新的字符串(); var n=新号码(); var b=新布尔(); 把新的错误(“信息”);建议使用更优的字面量模式:
//文本和原语(喜欢) var o={}; var=[]; var re=/[a - z]/g; var s=? var n=0; var b=false; 把{ 名称:“错误”, 消息:“消息” }<强> 10,其他强>
Javascript编码约定(编码规范)