Javascript规范

78 阅读2分钟

Javascript规范

● if else 嵌套深 使用三元运算符 或 switch case

● * 禁止使用var 使用let const

● 使用箭头函数

● 尽量使用 Array、Object 扩展函数

● 放弃使用jquery 改用vue ref操作dom

● 参数获取,对象拷贝,数组扩展等使用解构方式。

● Component 中静态数据单独存放或者定义在store中

● 变量、函数使用小驼峰 eg: userName. 类名、接口使用大驼峰 eg:UserClass

● * 禁止使用中文作条件判断

● * 禁止行内样式 出现style属性

● v-for 后面一定要加key

● 尽量使用v-if 对于频繁的显示影藏使用v-show

● 对于class复制条件放入计算属性中

● js中对象的属性名定义尽量不使用引号 除特殊情况

● 减少操作window对象, 若必须组建销毁前一定要清理掉window添加的对象

● 

  window.addEventListener("message"function(event) {});

● 提取公共组件

● 对于函数或对象原型的扩展使用类的方式

● 减少代码冗余

● 全部采用axios 方式请求数据 (不要使用ajax)

● 接口操作、状态操作全部分离

● 页面分模块开发

● 作为条件判断显示或者有无 使用is 、has 开头

● vue 方法放置顺序


export default {
  name'componentName',
  components: [],
  props: {},
  data() {
    return [];
  },
  computed: {},
  // 钩子函数
  created() {},
  metods: {},
  filter: {},
  watch: {}
};

● method 自定义方法命名

■ 动宾短语(good:jumpPage、openCarInfoDialog)(bad:go、nextPage、show、open、login)

■ ajax 方法以 get、post 开头,以 data 结尾(good:getListData、postFormData)(bad:takeData、confirmData、getList、postForm)

■ 事件方法以 on 开头(onTypeChange、onUsernameInput)

■ init、refresh 单词除外

■ 尽量使用常用单词开头(set、get、open、close、jump)

■ 驼峰命名(good: getListData)

● 常量命名必须大写以下划线连接,所有常量存放公共目录并按模块分类必须写注释

● 高度,长度,时间,经纬度。。。单位统一

● emit方法名使用常量命名

● 

this.$emit('[MODULE]UPDATE_CURRENT_TIME')

● 函数过30行的必须拆分 特殊情况除外

● 文件后缀一律省略(.js.vue.css.scss)

● view 视图逻辑 store api cesium 代码必须分离

● 变量命名使用名词禁止使用动词

● cesium中的primitive数据源、图片必须采用外部数据。可设置默认图片。

● 模块、变量、函数命名语义不要太狭隘,要宽泛。