本文为《编写可维护的JavaScript》读书笔记

1、变量

  • 变量名遵守驼峰大小写命名法

  • 命名前缀可为名词,这样可与函数名区分

  • 常量利用大写字母和下划线(用来分隔单词)来命名

  • 所有变量声明放在函数顶部

  • 函数顶部使用单var语句声明变量, 不同变量之间使用 "," 分隔开

2、函数

  • 先声明函数然后使用函数

  • 函数调用写法推荐:

    doSomthing(); //在函数名和左括号之间没有空格,与块语句区分开来

  • 立即执行函数

    var value = (function(){...})(); //将函数用一对圆括号包裹起来,增强代码的可读性

3、null

  1. 适用场景:

    • 初始化变量,它可能赋值为一个对象

    • 用来与已经初始化的变量(可以是也可以不是一个对象)比较

    • 当函数的参数期望是对象时,用作参数传入

    • 函数返回值为对象时,用作返回值传出

  2. 不适用场景

    • 不要用null来检测是否传入某个参数

    • 不要用null来检测一个未初始化的变量

4、undefined(被初始化变量的初始值,表示这个变量等待被赋值)

  • 避免使用undefined

  • 变量为声明,可将其赋值为null

5、注释

  1. 注释与语句不在同一行时,注释之前需要空行

  2. 在同一行,注释和代码之间需要空行

  3. 添加注释的原则:

    • 难于理解

    • 代码看上去有错误,实际没有

    • 浏览器特性hack时(例如,原生js绑定事件)

  4. 关于注释,推荐使用插件DocBlockr

6、语句

  1. 不论块语句包含多行代码还是单行代码,都应当是使用花括号

  2. 块语句包括:

    • if

    • for

    • while

    • do...while

    • try...catch...finally

  3. 块语句间隔风格推荐:

    1. if (condition) {} //在括左圆括号之前和右圆括号之后各添加一个空格

7、case语句的连续执行问题(在switch语句中执行完一个case之后继续执行下一个case):

        switch (condition) {case "first":case "second"://代码break;default://代码}
  • case连续执行可以有意为之,但是需要添加注释

8、with:禁止使用

9、for循环注意事项:尽可能避免使用continue

10、for-in循环

  • 不仅遍历对象的实例属性,而且遍历从原型继承过来的属性

  • 最好使用 hasOwnProperty 来为for-in循环过滤出实例属性

  • 禁止用来遍历数组成员

11、严格模式

  • 不推荐在全局作用域内使用。如果团队成员文件合并,可能会让团队其他成员的代码报错

  • 推荐函数内部,即布局作用域内使用

12、相等

  • 两个等号判断相等,容易出现强制类型转换

  • 推荐使用三个等于号用来判断相等

13、原始包装类型

 `var name = new String('Nicholas');`
  • 避免使用

参考资料:《编写可维护的JavaScript》

我喜欢的JavaScript编程风格相关推荐

  1. [Javascript]编程风格

    作者: 阮一峰 日期: 2012年4月27日 Douglas Crockford是Javascript权威,Json格式就是他的发明. 去年11月他有一个演讲(Youtube),谈到了好的Javasc ...

  2. javascript编程风格(粗略笔记)

    1.空格 紧凑型: project.MyClass = function(arg1, arg2){ 松散型: for( i = 0; i < length; i++ ){ 2.代码行长度 最多8 ...

  3. JavaScript——编程风格

    本篇文章我们将讨论如何将新的语法应用在编码实践当中,与传统的 JavaScript 语法结合在一起,写出合理的.易于阅读和维护的代码. 所谓"编程风格",指的是编写代码的规则.不同 ...

  4. javascript编程风格

    /** * @author 阮一峰 * Copyright http://es6.ruanyifeng.com/#docs/style */ 1.块级作用域 (1)let 取代 var (2)全局常量 ...

  5. javascript --- 编程风格

    字符串 const a = 'foobar'; const b = `foo${a}bar`; // 此处是反引号(tab键上) const c = 'foobar'; 解构赋值 const [fir ...

  6. 规范自己的JavaScript书写 – Dojo Javascript 编程规范

    前言 良好的JavaScript书写习惯的优点不言而喻,今天彬Go向大家推荐Dojo Javascript 编程规范,相当不错的 Javascript 编程风格规范,建议大家可以借鉴一下此规范编写 J ...

  7. JavaScript的编程风格的见解

    编程风格 1.尽量少使用伪协议,JavaScript:function(): 2.在url属性上有值 3.将JavaScript代码与HTML文档结构分离,例如:不要把事件的调用嵌套在文档结构·里 4 ...

  8. Airbnb JavaScript 编码风格指南(2018年最新版)

    Airbnb JavaScript 编码风格指南(2018年最新版) 访问此原文地址:http://galaxyteam.pub/didi-fe... 另外欢迎访问我们维护的https://www.t ...

  9. 良好的JavaScript编码风格(语法规则)

    编码风格 1.概述 "编程风格"(programming style)指的是编写代码的样式规则.不同的程序员,往往有不同的编程风格. 有人说,编译器的规范叫做"语法规则& ...

最新文章

  1. linux 查看锁机时间,3分钟短文|Linux 登陆痕迹查看,last 锁定所有可疑对象
  2. [日常工作]偷懒创建一个存储过程进行模拟工作.
  3. 支持企业互联网的正确故障恢复方法
  4. python编程大赛队名_团队作业1——团队展示选题
  5. [vue-element] ElementUI是怎么做表单验证的?在循环里对每个input验证怎么做呢?
  6. Qt工作笔记-QXmlStreamReader中的字符编码的坑
  7. 百度编辑器 Ueditor 如何增加模板 ?
  8. 游戏开发过程中需求变化那些事
  9. Spring——jar包详解
  10. java中char类型可以存储两个中文字符吗
  11. 冒泡排序之Java实现
  12. Jenkins持续集成学习-搭建jenkins问题汇总
  13. 二十四节气之夏至养生篇
  14. 能上QQ,不能打开网页
  15. Python穷举法连接WiFi
  16. 货运与物流的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  17. 可恶的Freez Screen Video Capture,软破解之
  18. 为什么中国软件不咋样
  19. 什么样的程序员才是牛逼的程序员
  20. [ZZ]终极工程师的造诣 – 不迷信高科技的乔布斯给我们的启示

热门文章

  1. SpringData核心数据访问接口--PagingAndSortingRepository
  2. 服务器对程序员来说意味着什么,此文带你来了解
  3. 科普|数据治理如何在 Martech 中发挥效能?
  4. 如何通过标签体系,打造精细化运营?
  5. SpringBoot集成Mybatis(0配置注解版)
  6. C# 如何调用EventLog
  7. canvas系列教程02-直线和曲线
  8. lwip1.4.1需要的文件
  9. libjingle源码解析(4)-【PseudoTcp】建立UDP之上的TCP(2):对交互数据流的处理
  10. MAVEN POM dependencies and Dependency Exclusions