请始终为您所有的 JavaScript 项目使用相同的代码约定。
代码约定(Coding conventions)指的是编程的样式指导方针。这些原则大体上包括:
代码约定确保质量:
代码约定可以是团队遵守的成文规则,也可以是您个人的编码习惯。
本页介绍 W3School 使用的通用 JavaScript 代码约定。
您应该继续阅读下一章“最佳实践”,学习如何避免编码陷阱。
在 W3School,我们对标识符名称(变量和函数)使用了驼峰式大小写。
所有名称以字母开头。
在本页的底部,我们会更广泛地讨论命名规则。
firstName = "Bill";lastName = "Gates";price = 19.90;tax = 0.20;fullPrice = price + (price * tax);
请始终在运算符( = + - * / )周围以及逗号之后添加空格:
var x = y + z;var values = ["Volvo", "Saab", "Fiat"];
请始终使用对代码块缩进使用 4 个空格:
function toCelsius(fahrenheit) { return (5 / 9) * (fahrenheit - 32);}
请不要对缩进使用制表符。不同的编辑器对 tab 的解释也不尽相同。
简单语句的通用规则:
请始终以分号结束单条语句:
var values = ["Volvo", "Saab", "Fiat"];var person = { firstName: "Bill", lastName: "Gates", age: 50, eyeColor: "blue"};
针对复杂语句(compound)的通用规则:
function toCelsius(fahrenheit) { return (5 / 9) * (fahrenheit - 32);}
for (i = 0; i < 5; i++) { x += i;}
if (time < 20) { greeting = "Good day";} else { greeting = "Good evening";}
针对对象定义的通用规则:
var person = { firstName: "Bill", lastName: "Gates", age: 50, eyeColor: "blue"};
可以对短对象在一行中进行压缩,只在属性之间使用空格,就像这样:
var person = {firstName:"Bill", lastName:"Gates", age:50, eyeColor:"blue"};
为了提高可读性,请避免每行的长度超过 80 个字符。
如果 JavaScript 语句超过一行的长度,换行的最佳位置是运算符或逗号之后。
document.getElementById("demo").innerHTML = "Hello Kitty.";
请始终对您所有的代码使用相同的命名约定。例如:
我们是否应在变量名中使用连字符、驼峰大小写或下划线吗?
这是程序员们经常讨论的问题。答案取决于这个问题是谁回答的:
HTML5 属性能够以 data- 开头(data-quantity, data-price)。
CSS 在 property-names 中使用连字符(font-size)。
Hyphens 可被错误地视为减法运算符。JavaScript 命名不允许使用连字符。
许多程序员喜欢使用下划线(date_of_birth),特别是在 SQL 数据库中。
下划线经常被用在 PHP 参考资料中。
C 语言程序员经常使用帕斯卡命名法。
JavaScript 本身、jQuery 以及其他 JavaScript 库使用驼峰大小写。
JavaScript 命名请不要以 $ 符号开头。此举会引起 JavaScript 库名称冲突。
使用简单的语法来加载外部脚本(type 属性不是必需的):
<script src="myscript.js"></script>
使用“不整洁的” HTML 样式的后果,也许是导致 JavaScript 错误。
这两条 JavaScript 语句会产生不同的结果:
var obj = getElementById("Demo")var obj = getElementById("demo")
如果可能,请在 HTML 中使用相同的命名约定(就像 JavaScript 那样)。
HTML 文件应该使用 .html 扩展名(而非 .htm)。
CSS 文件应该使用 .css 扩展名。
JavaScript 文件应该使用 .js 扩展名。
大多数 web 服务器(Apache、Unix)对文件名的大小写敏感:
london.jpg 无法视作 London.jpg 进行访问。
其他 web 服务器(微软的 IIS)对大小写不敏感:
london.jpg 能够以 London.jpg 或 london.jpg 来访问。
如果您混合使用大小写,则必须严格保持连续和一致。
如果您将站点从大小写不敏感的服务器转移至对大小写敏感的服务器,即使这种小错误也可能破坏您的网站。
为了避免这些问题,请始终使用小写文件名(如果可能)。
计算机不会使用代码约定。大部分规则对程序的执行影响很小。
缩进和额外的空格对小段脚本并不重要。
对于开发中的脚本,应该优先考虑可读性。应该缩小更大型的生产脚本。