JavaScript 编码风格指南
A.1 缩进
// 4个空格的层级缩进
if (true) {
doSomething();
}
A.2 行的长度
// 每行限于80个字符,超出则在运算符后换行,缩进2个层级(8个空格)
doSomething(argument1, argument2, argument3, argument4,
argument5);
A.3 原始值
// 字符串使用双引号及长字符串的链接
var name = "Nicholas",
longStr = "this is a long string you should " +
"change another line."; // 数字
var count = 10,
price = 10.50,
num = 1e10; // null,表示或期望是对象
var person = null; function getPerson () {
if (condition) {
return new Person("Nicholas");
} else {
return null;
}
}
// undefined 变量声明而未赋值的状态,避免使用;
var variable = undefined // dont do this
if (typeof variable === "undefined") {
// do like this
}
A.4 运算符间距
// 运算符前后使用一个空格来保持表达式的整洁
var found = (value[i] === item); if (found && (count > 10)) {
doSomething();
} for (i = 0; i < count; i++) {
process(i);
}
A.5 对象直接量
// 层级缩进、语段前后空行、函数前后空行、属性不加引号、冒号紧跟其后
var object = {
key1: value1,
key2: value2, func: function () {
// a function to do something
}, key3: value3
}
A.7 注释
// 单行注释1
if (condition) { // 如果代码执行到这里,表明通过了安全检查
doSomething();
} // 单行注释2
var result = result1 + result2; // result1, result2应当是整数 // 多行注释
function getResult (arg1, arg2) { /*
* @para arg1
* @para arg2
*/
doSomething();
}
A.8 变量声明
// 整齐、未初始化变量放最后
var count = 10,
name = "Nicholas",
found = false,
empty;
A.9 函数声明
// 标准式
function sum(arg1, arg2) {
return arg1 + arg2;
} // 道格拉斯推荐式(变量引用式)
var sum = function (arg1, arg2) {
return arg1 + arg2;
}; // 立即调用式
var value= (function() { // 函数体 return {
message: "Hi"
};
}());
A.10 命名
// 普通变量用小驼峰命名法,不要使用下划线,不要用动词开头
var accountNumber = "8341"; // 函数命名用动词开头表意
function getPerson() {
// return a person object
} // 构造函数用名词开头且首字母大写
function Person(name) {
this.name = name;
} // 常量
var TOTAL_COUNT = 10; // 私有变量
var object = {
_count: 10, getCount: function() {
return this._count;
}
};
A.11 严格相等及表达式赋值
// 通过相等判断赋予布尔值
var flag = (a === b);
A.12 三元操作符
// 三元操作符应当仅仅用在条件赋值语句中
var value = (condition ? value1 : value2); // dont do like this, do it use if instead
condition ? doSomething() : doSomethingElse();
A.13 语句示例
// if
if (condition) {
statements
} // for
var i, len;
for (i = , len = ; i < len; i++) {
// code
} var prop;
for (prop in object) { if (object.hasOwnProperty(prop)) {
// code
}
} // while
while (condition) {
statements
} // switch
switch (value) {
case :
statements;
break; case : // falls through
case :
statements;
break; // no default
}
A.14 使用严格模式吧,在一个函数里
(function() {
"use strict";
// code
}());
JavaScript 编码风格指南的更多相关文章
- JavaScript编码风格指南(中文版)
前言: 程序语言的编码风格对于一个长期维护的软件非常重要,特别是在团队协作中.如果一个团队使用统一规范的编码分风格,可以提高团队的协作水平和工作效率.编程风格指南的核心是基本的格式化规则,这些规则决定 ...
- 《编写可维护的 Javascript》读书笔记(附录 A 部分):Javascript 编码风格指南(1)原始值
记录一下比较有用的编码规范(该指南是基于 Java 语言编码规范和 Javascript 编程规范,同时结合作者 Nicholos Zakas 的个人经验和喜好). 一些关于格式(包括缩进.行的长度. ...
- Airbnb JavaScript 编码风格指南(2018年最新版)
原网址 : https://segmentfault.com/a/1190000013040555 类型 基本类型:直接存取 string number boolean null undefined ...
- JavaScript编码规范指南
前言 本文摘自Google JavaScript编码规范指南,截取了其中比较容易理解与遵循的点作为团队的JavaScript编码规范. JavaScript 语言规范 变量 声明变量必须加上 var ...
- 一些达成共识的JavaScript编码风格约定
如果你的代码易于阅读,那么代码中bug也将会很少,因为一些bug可以很容被调试,并且,其他开发者参与你项目时的门槛也会比较低.因此,如果项目中有多人参与,采取一个有共识的编码风格约定非常有必要.与其他 ...
- 一些达成共识的JavaScript编码风格约定【转】
如果你的代码易于阅读,那么代码中bug也将会很少,因为一些bug可以很容被调试,并且,其他开发者参与你项目时的门槛也会比较低.因此,如果项目中有多人参与,采取一个有共识的编码风格约定非常有必要.与其他 ...
- R 语言编码风格指南
R 语言是一门主要用于统计计算和绘图的高级编程语言.这份 R 语言编码风格指南旨在让我们的 R代码更容易阅读.分享和检查.以下规则系与 Google 的 R 用户群体协同设计而成. 概要: R编码风格 ...
- 来自 Google 的 R 语言编码风格指南
来自 Google 的 R 语言编码风格指南R 语言是一门主要用于统计计算和绘图的高级编程语言. 这份 R 语言编码风格指南旨在让我们的 R 代码更容易阅读.分享和检查. 以下规则系与 Google ...
- Objective-C 编码风格指南
本文转自:[Objective-C 编码风格指南 | www.samirchen.com][2] ## 背景 保证自己的代码遵循团队统一的编码规范是一个码农的基本节操,能够进入一个有统一编码规范的团队 ...
随机推荐
- 洛谷P1470 最长前缀 Longest Prefix
P1470 最长前缀 Longest Prefix 73通过 236提交 题目提供者该用户不存在 标签USACO 难度普及/提高- 提交 讨论 题解 最新讨论 求大神指导,为何错? 题目描述 在生 ...
- android service 学习
参考:http://www.cnblogs.com/allin/archive/2010/05/15/1736458.html http://www.cnblogs.com/allin/archive ...
- leetcode 66
66. Plus One Given a non-negative number represented as an array of digits, plus one to the number. ...
- javaSE第十二天
第十二天 64 1. Scanner的使用(了解) 64 (1)在JDK5以后出现的用于键盘录入数据的类. 64 (2)构造方法: 64 (4)要掌握的两个方法 65 ( ...
- POJ C程序设计进阶 编程题#2:角谷猜想
编程题#2:角谷猜想 来源: POJ(Coursera声明:在POJ上完成的习题将不会计入Coursera的最后成绩.) 注意: 总时间限制: 1000ms 内存限制: 65536kB 描述 所谓角谷 ...
- Linux shell实现Mysql异地备份数据库
#--------------------------Mysqldump异地备份-----------------# #!/bin/bash #start mysqldump back /usr/bi ...
- wamp+zendstudio12+xDebugger环境搭建
1.网上找到Wampserver,下载即可,一路安装即可,安装好后打开浏览器输入http://localhost即可看到有没有安装成功 比如我的是这样的,就说嘛wampserver安装成功了 wamp ...
- MVC5 Identity 自定义用户和角色
看代码基本就都能看懂了,增加了两个用户详细信息的表,角色表增加两个字段页面中实现树形显示. //IdentityModels.cs using System.Data.Entity; using Sy ...
- .net IL 指令速查
名称 说明 Add 将两个值相加并将结果推送到计算堆栈上. Add.Ovf 将两个整数相加,执行溢出检查,并且将结果推送到计算堆栈上. Add.Ovf.Un 将两个无符号整数值相加,执行溢出检查,并且 ...
- Knockout.Js官网学习(style绑定、attr绑定)
Style绑定 style绑定是添加或删除一个或多个DOM元素上的style值.比如当数字变成负数时高亮显示,或者根据数字显示对应宽度的Bar.(注:如果你不是应用style值而是应用CSS clas ...