写法约定:
1、尽量少使用全局变量。
2、声明变量的时候,一定要加var关键字,不加的话默认为全局变量。
3、不要使用类似这样的编码:var a = b = 0,一个var只声明一个变量。
4、for循环的写法,用来处理数组
最好的写法:for(var i = myArray.length; i--;)
好的写法:for{var i = 0,max = myArray.length; i < max; i++} { }
坏的写法:for{var i = 0; i < myArray.length; i++} { }
5、while写法与for类似
var i = myArray.length;
while(i--) { }
6、for-in循环写法,用来处理对象
为了防止遍历到原型上的属性,我们应该使用hasOwnProperty方法。
最好的写法,使用call函数来防止命名冲突:
for(var p in obj){
if(Object.prototype.hasOwnProperty.call(obj,p)) {
//处理的内容
}
}
一般写法:
for(var p in obj) {
if(obj.hasOwnProperty(p)) {
//处理的内容
}
}
7、如果某个值有多种存在的可能性,应该是用switch,而不是if/else。
对了,不要忘记使用break和default;
switch(i){
case 0:
//处理的内容
break;
case 1:
//处理的内容
break;
break;
}
8、使用===和!===,避免隐式转换。
var zero = 0;
正确的做法:
if(zero === false) {
//代码不执行
}
错误的做法:
if(zero == false){
//代码会执行
}
9、禁止使用eval(),他会把字符串当作代码来执行。
这样存在巨大安全隐患,最好不要使用。
10、setTimeout()和setInterval(),第一个参数不要写字符串。
var myFunction = function() { }
坏的做法:
setTimeout("myFunction",100);
好的做法:
setTimeout(myFunction,100);
编码约定
1、for while do for-in if switch 里面的内容要缩进4个空格或者一个Tab。
2、尽量多的使用大括号,即使只有一行代码。
3、空格使用,有助于改善代码的可读性。
4、变量命名必须有意义,避免a,b,c这样的单一字符。
建议使用驼峰式命名规范,例如:myFirstApp。
5、编写注解非常重要。格式参考如下:
/**
* 翻转一个字符串
* @param {String} 输入需要翻转的字符串
* @return {String} 翻转后的字符串
*/
var reverse = function(input){
return output;
}
如果有更多更好的意见,请下方留言,感谢。
发表评论: