可维护性的js代码

什么是可维护的代码:

  • 可理解性
  • 直观性
  • 适应性
  • 可扩展性
  • 可调试性

可读性:

  • 函数和方法——每一个函数都要包含一个注释,描述其目的做用

松散耦合度

  • 解耦HTML/javascript
  • 解耦css/javascript
  • 解耦应用逻辑/事件处理程序
避免全局变量
  • 建立命名空间
    //建立全局对象
    var xhome={};
    //为xhome建立命名空间
    xhome.Projs = {};
    //讲方法写到项目中去
    xhome.Projs.EventUtil = {};
    xhome.Projs.CookieUtil ={};
  • 避免与null比较
function sortArray(values){
   if(values != null){//能够将条件语句改成values instanceof Array或者typeof values == "Array"
       values.sort(arry)
   }
}

使用常量 javascript

  • 重复值——任何在多出用到的值都应该抽取出做为一个常量
  • url——常常会改变的字面量,因此要专门存放在一个地方,避免一个地方改变,而忘记修改其它地方
  • 任意可能改变的值
做用域
  •     避免使用全局查找
function setImgUrl(){
  var img =doncument.getElementByTagName("img");
  for(var i=0,len=img.length;i<len;i++){
      img[i].url = document.url;
  }
}
  • 避免使用with
  • 避免没必要要的属性查找

优化循环 css

  • 简化循环体
  • 使用后测试循环
//减值循环
for(var i=0;i<values.length;i++){
  process(values[i]);
}
//改成
for(var i=values.length;i>=0;i--){
   process(vaules[i]);
}
//后测试循环
var len=values.length;
do{
  //...
}while(i<len)
性能比较
  •  原生方法比较快
  • switch方法语句快
  • 位运算符较快
  • 使用数组和对象字面量
DOM优化
  •  dom操做在在循环体操做时,将dom在循环体外声明为变量
  • 使用innerHTML
  • 使用事件代理
相关文章
相关标签/搜索