我喜欢的JavaScript编程风格
本文为《编写可维护的JavaScript》读书笔记
1、变量
变量名遵守驼峰大小写命名法
命名前缀可为名词,这样可与函数名区分
常量利用大写字母和下划线(用来分隔单词)来命名
所有变量声明放在函数顶部
函数顶部使用单var语句声明变量, 不同变量之间使用 "," 分隔开
2、函数
先声明函数然后使用函数
函数调用写法推荐:
doSomthing(); //在函数名和左括号之间没有空格,与块语句区分开来
立即执行函数
var value = (function(){...})(); //将函数用一对圆括号包裹起来,增强代码的可读性
3、null
适用场景:
初始化变量,它可能赋值为一个对象
用来与已经初始化的变量(可以是也可以不是一个对象)比较
当函数的参数期望是对象时,用作参数传入
函数返回值为对象时,用作返回值传出
不适用场景
不要用
null
来检测是否传入某个参数不要用
null
来检测一个未初始化的变量
4、undefined
(被初始化变量的初始值,表示这个变量等待被赋值)
避免使用
undefined
变量为声明,可将其赋值为
null
5、注释
注释与语句不在同一行时,注释之前需要空行
在同一行,注释和代码之间需要空行
添加注释的原则:
难于理解
代码看上去有错误,实际没有
浏览器特性hack时(例如,原生js绑定事件)
关于注释,推荐使用插件
DocBlockr
6、语句
不论块语句包含多行代码还是单行代码,都应当是使用花括号
块语句包括:
if
for
while
do...while
try...catch...finally
块语句间隔风格推荐:
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编程风格相关推荐
- [Javascript]编程风格
作者: 阮一峰 日期: 2012年4月27日 Douglas Crockford是Javascript权威,Json格式就是他的发明. 去年11月他有一个演讲(Youtube),谈到了好的Javasc ...
- javascript编程风格(粗略笔记)
1.空格 紧凑型: project.MyClass = function(arg1, arg2){ 松散型: for( i = 0; i < length; i++ ){ 2.代码行长度 最多8 ...
- JavaScript——编程风格
本篇文章我们将讨论如何将新的语法应用在编码实践当中,与传统的 JavaScript 语法结合在一起,写出合理的.易于阅读和维护的代码. 所谓"编程风格",指的是编写代码的规则.不同 ...
- javascript编程风格
/** * @author 阮一峰 * Copyright http://es6.ruanyifeng.com/#docs/style */ 1.块级作用域 (1)let 取代 var (2)全局常量 ...
- javascript --- 编程风格
字符串 const a = 'foobar'; const b = `foo${a}bar`; // 此处是反引号(tab键上) const c = 'foobar'; 解构赋值 const [fir ...
- 规范自己的JavaScript书写 – Dojo Javascript 编程规范
前言 良好的JavaScript书写习惯的优点不言而喻,今天彬Go向大家推荐Dojo Javascript 编程规范,相当不错的 Javascript 编程风格规范,建议大家可以借鉴一下此规范编写 J ...
- JavaScript的编程风格的见解
编程风格 1.尽量少使用伪协议,JavaScript:function(): 2.在url属性上有值 3.将JavaScript代码与HTML文档结构分离,例如:不要把事件的调用嵌套在文档结构·里 4 ...
- Airbnb JavaScript 编码风格指南(2018年最新版)
Airbnb JavaScript 编码风格指南(2018年最新版) 访问此原文地址:http://galaxyteam.pub/didi-fe... 另外欢迎访问我们维护的https://www.t ...
- 良好的JavaScript编码风格(语法规则)
编码风格 1.概述 "编程风格"(programming style)指的是编写代码的样式规则.不同的程序员,往往有不同的编程风格. 有人说,编译器的规范叫做"语法规则& ...
最新文章
- linux 查看锁机时间,3分钟短文|Linux 登陆痕迹查看,last 锁定所有可疑对象
- [日常工作]偷懒创建一个存储过程进行模拟工作.
- 支持企业互联网的正确故障恢复方法
- python编程大赛队名_团队作业1——团队展示选题
- [vue-element] ElementUI是怎么做表单验证的?在循环里对每个input验证怎么做呢?
- Qt工作笔记-QXmlStreamReader中的字符编码的坑
- 百度编辑器 Ueditor 如何增加模板 ?
- 游戏开发过程中需求变化那些事
- Spring——jar包详解
- java中char类型可以存储两个中文字符吗
- 冒泡排序之Java实现
- Jenkins持续集成学习-搭建jenkins问题汇总
- 二十四节气之夏至养生篇
- 能上QQ,不能打开网页
- Python穷举法连接WiFi
- 货运与物流的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- 可恶的Freez Screen Video Capture,软破解之
- 为什么中国软件不咋样
- 什么样的程序员才是牛逼的程序员
- [ZZ]终极工程师的造诣 – 不迷信高科技的乔布斯给我们的启示
热门文章
- SpringData核心数据访问接口--PagingAndSortingRepository
- 服务器对程序员来说意味着什么,此文带你来了解
- 科普|数据治理如何在 Martech 中发挥效能?
- 如何通过标签体系,打造精细化运营?
- SpringBoot集成Mybatis(0配置注解版)
- C# 如何调用EventLog
- canvas系列教程02-直线和曲线
- lwip1.4.1需要的文件
- libjingle源码解析(4)-【PseudoTcp】建立UDP之上的TCP(2):对交互数据流的处理
- MAVEN POM dependencies and Dependency Exclusions