工作中好的编程风格会更友好,不好的编程风格会让队友难受变量的声明使用let和const代替var(var存在变量提升等副作用),声明常量使用const// badvar name = ‘zero’// goodlet name = ‘zero’// badvar MAX = 100// goodconst MAX = 100命名规范使用小驼峰命名,变量名可读性好// badlet l_name = ‘zero’// goodlet lastName = ‘zero’使用变量说明不要出现让人觉得晦涩难懂的变量// badif (time < 120) { todo()}// goodconst MINUTES_IN_TWO_HOUR = 120;if (time < MINUTES_IN_TWO_HOUR) { todo()}不要重复命名当一个对象名有意义的时候,对象里面的key的命名不需要重复对象名// badlet Student = { studentName = ‘zero’, studentAge = 18}// goodlet Student = { name = ‘zero’ age = 18}字符串命名静态字符串使用单引号,动态字符串使用反引号// badlet name = “zero"let myName = ‘my name is ’ + name// goodlet name = ‘zero’let myName = my name is ${name}使用解构赋值使用数组或者对象给变量赋值的时候,使用解构赋值let arr = [1, 2, 3, 4]let obj = { name:‘zero’, age:18}// badlet first = arr[0]let second = arr[1]let name = obj.namelet age = obj.age// goodlet [first, second] = arrlet {name,age} = obj使用Object.assign当给对象赋多个值得时候,使用Object.assignlet obj = {}// badobj.name = ‘zero’obj.age = 18// goodObject.assign(obj,{ name:‘zero’, age:18})函数参数函数参数较多的情况,使用对象进行传参// badfunction Student(name,age,sex){ //…}// goodlet studentConfig = { name:‘zero’, age:18, sex:‘man’}function Student(studentConfig){ //…}封装判断条件判断条件过多的情况可以封装成一个函数// badif(a===1 && b===2){ //…}// goodfunction isTure(a,b){ return a===1 && b===2}if(isTrue(a,b)){ //…}其他1.使用函数的默认传参来避免对函数参数的判断2.函数名要表达出函数是干什么的,比如 isEmail(),让人一看就知道是判断email的,而且返回值是布尔类型3.对于数组,少用for循环,Array.forEach,Array.every,Array.some,Array.map,Array.filter基本可以满足for循环想得到的效果以上就是平时比较常见的编程风格,还有很多没列出来,更多的请参考编程风格