阅读249 返回首页    go 阿里云 go 技术社区[云栖]


JavaScript 代码规范

所有的 JavaScript 项目适用同一种规范

JavaScript 代码规范

代码规范通常包括以下几个方面:

变量和函数的命名规则

空格,缩进,注释的使用规则

其他常用规范……

规范的代码可以更易于阅读与维护

代码规范一般在开发前规定,可以跟你的团队成员来协商设置

变量名

变量名推荐使用驼峰法来命名(camelCase):

firstName = "John";
lastName = "Doe";

空格与运算符

通常运算符 ( = + - * / ) 前后需要添加空格:

var x = y + z;
var values = ["Volvo", "Saab", "Fiat"];

代码缩进

通常使用 4 个空格符号来缩进代码块:

注意:不推荐使用 TAB 键来缩进,因为不同编辑器 TAB 键的解析不一样

语句规则

简单语句的通用规则:

一条语句通常以分号作为结束符

复杂语句的通用规则:

将左花括号放在第一行的结尾

左花括号前添加一空格

将右花括号独立放在一行

不要以分号结束一个复杂的声明

对象规则

对象定义的规则:

将左花括号与类名放在同一行。

冒号与属性值间有个空格。

字符串使用双引号,数字不需要。

最后一个属性-值对后面不要添加逗号。

将右花括号独立放在一行,并以分号作为结束符号

var person = {
    firstName: "John",
    lastName: "Doe",
    eyeColor: "blue"
};

短的对象代码可以直接写成一行,,为了便于阅读每行字符建议小于数 80 个,如果一个 JavaScript 语句超过了80个字符建议在运算符或者逗号后换行

命名规则

一般很多代码语言的命名规则都是类似的,例如:

变量和函数为驼峰法( camelCase)

全局变量为大写 (UPPERCASE )

常量 (如 PI) 为大写 (UPPERCASE )

变量命名你是否使用这几种规则: hyp-hens, camelCase, 或under_scores ?

HTML 和 CSS 的横杠(-)字符:

HTML5 属性可以以 data- (如:data-quantity, data-price) 作为前缀。

CSS 使用 - 来连接属性名 (font-size)。

注意:- 通常在 JavaScript 中被认为是减法,所以不允许使用。

下划线:

很多程序员比较喜欢使用下划线(如:date_of_birth), 特别是在 SQL 数据库中。

PHP 语言通常都使用下划线。

帕斯卡拼写法(PascalCase):

帕斯卡拼写法(PascalCase) 在 C 语言中语言较多。

驼峰法:

JavaScript 中通常推荐使用驼峰法,jQuery 及其他 JavaScript 库都使用驼峰法。

注意:变量名不要以 $ 作为开始标记,会与很多 JavaScript 库冲突

HTML 载入外部 JavaScript 文件

使用简洁的格式载入 JavaScript 文件 ( type 属性不是必须的):

<script src="myscript.js">

HTML 与 JavaScript 尽量使用相同的命名规则

文件扩展名

HTML 文件后缀可以是 .html (或r .htm)。

CSS 文件后缀是 .css 。

JavaScript 文件后缀是 .js

使用小写文件名

大多 Web 服务器 (Apache, Unix) 对大小写敏感: london.jpg 不能通过 London.jpg 访问。你必须保持统一的风格,我们建议统一使用小写的文件名

javascript:void(0) 含义

我们经常会使用到 javascript:void(0) 这样的代码,那么在 JavaScript 中 javascript:void(0) 代表的是什么意思呢?

javascript:void(0) 中最关键的是 void 关键字,void 是 JavaScript 中非常重要的关键字,该操作符指定要计算一个表达式但是不返回值

当用户链接时,void(0) 计算为 0,但 Javascript 上没有任何效果

href="#"与href="javascript:void(0)"的区别

#包含了一个位置信息,默认的锚是#top 也就是网页的上端。而javascript:void(0), 仅仅表示一个死链接。在页面很长的时候会使用 # 来定位页面的具体位置,格式为:# + id。

如果你要定义一个死链接请使用 javascript:void(0)

最后更新:2017-05-31 15:01:32

  上一篇:go  《Spring攻略(第2版)》——1.2 配置Spring IoC容器中的Bean
  下一篇:go  《Spring攻略(第2版)》——第1章 Spring简介 1.1实例化Spring IoC容器