博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
可维护性的js代码
阅读量:6870 次
发布时间:2019-06-26

本文共 900 字,大约阅读时间需要 3 分钟。

hot3.png

什么是可维护的代码:

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

可读性:

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

松散耦合度

  • 解耦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)   }}

使用常量

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

优化循环

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

转载于:https://my.oschina.net/u/205358/blog/123118

你可能感兴趣的文章
Java写到.txt文件,如何实现换行
查看>>
通过http proxy访问git 服务
查看>>
JavaScript之isNaN()函数讲解
查看>>
MPlayer源代码分析
查看>>
获取音视频文件AVMetadata数据
查看>>
sql serve 创建序列
查看>>
模型层的生成
查看>>
关于APP接口设计
查看>>
【VI】如何再执行上一个(历史)命令(已解决)
查看>>
KendoUI系列:DropDownList
查看>>
Axure7.0汉化方法
查看>>
我的MYSQL学习心得(九)
查看>>
JavaScript高级程序设计学习笔记--DOM
查看>>
Python易学就会(五)turtle绘制椭圆与递归
查看>>
echarts map地图设置外边框或者阴影
查看>>
webpack4学习总结
查看>>
vue.js vue-router history模式路由,域名二级目录子目录nginx配置
查看>>
web前端规范
查看>>
理解网页的关键渲染路径(CRP)
查看>>
使用vue-cli脚手架+webpack搭建vue项目
查看>>