平时使用的时VS来进行代码的书写,VS会自动的将代码格式化,所有写了这么久的JS代码,也没有注意到这些点。看了《编写可维护的javascript代码》之后,做了些笔记。
var result = parameter1 + parameter2 + parameter3 + parameter4 + parameter5 parameter6 + parameter7;
if (isTrue && isFalse && isTrueOrFalse) { DoSth(); }
为代码段落添加空行。 1、在方法之间。 2、在方法中的局部变量和第一条语句之间。 3、在多行或单行注释之前。 4、在方法内的逻辑片段之间插入空行。提高可读性。 if (result.length > 0) { var data = eval(result); for (var i = 0; i <= data.length; i++) { var name = data[i].name; var age = data[i].age; if (name === 'vichin') { DoSth(); } } }
错误的写法: var nums = new Array(1,2,3,4); 正确的写法: var nums = [1,2,3,4];
function DoSth() { var value = 10, result = value, name = "", sex; }//合并var语句 var flag = (i < count);//使用小括号来包裹后面的比较语句
//推荐写法 var value = condition ? value1 : value2; //不推荐的写法: condition ? doSth() : doSth1(); //这里没有赋值,推荐使用if else
错误的写法: var book = new Object(); book.title = "JS"; book.page = 256; 正确的写法: var book = { title:"JS", page:256 };
什么时候不使用null?
//不要使用null来检查是否传入了某个参数。 function DoSth(arg1,arg2,arg3) { if (arg3 != null) { DoSth1(); } } //不要使用null来检测一个未初始化的变量。 var person; if (person != null) {doSth();}
什么时候使用null?
1、用来初始化一个变量,这个变量可能赋值为一个对象的时候。
2、用来和一个已经初始化的变量比较,这个变量可以是也可以不是一个对象。
3、当函数的参数期望是对象的时候,用作参数传入。
4、当函数的返回值期望是对象的时候,用作返回值传出。
不要在html页面中为元素绑定事件
<a href="" onclick="doSth()" id="btn" value="按钮"/>
当要为页面元素添加样式的时候,尽量事先将样式写在css文件中,并使用
element.className += "className";//原生的写法
element.classList.add("className");//H5写法
$(element).addClass("className");
如果是要移动元素的位置,那么就只能在JS中修改!
在比较变量时,使用===而不是使用==,===操作,不涉及到强制类型转换。
对于eval函数,只允许在AJAX的回调函数中使用eval函数,其他地方不允许使用eval函数,除非是实在没有办法的情况下。
尽量在变量名中体现出变量的数值类型,而不是使用匈牙利命名法(strName,iAge现已过时)。
如果你是java或者是C#程序员,推荐在声明字符串的时候,使用双引号而非单引号。
尽量不要操作dom,而使用服务器端的模板或者是前端的模板。