注释是使您的代码更具可读性的描述性文本。
对程序员来说,写注释和写代码一样重要。
但是,如果您是初学者,那么担心您应该留下什么样的注释也是一个问题。
所以这一次,我将解释如何写一个基本的注释。
JavaScript 注释
注释用于描述代码。所以注释本身不会被评估为代码。
我们在之前的文章“新手入门必学的JavaScript代码规范详解”中稍微提到了这一点,这里我们重点在来讲一下如何写注释。
编写 JavaScript 注释的一般方法有两种:
//: 1 行注释
/* */: 多行注释
一行注释
单行注释,顾名思义,用于逐行留下注释。
// 一行注释 // 这部分不被识别为代码
//后面到行尾都会被识别为注释,//和文本之间一般会有一个空格。
基本上在记述简短的说明时使用。
//的同一行中所写的文本是注释,所以如果没有//换行的话,那这个部分就不是注释了。
// 1一行注释 换行的部分不是注释
多行注释
顾名思义,多行注释也用于以多行为单位留下的注释。
/* 多行注释 被包围的部分不被识别为代码 */
/*和包围的部分*/被识别为注释。
/*和之间的文字*/一般用换行和缩进书写。
与单行注释不同,文本可以换行编写,因此在长文本注释时使用很方便。
需要注意的是不能在多行注释中编写多行注释。
在/**/中再嵌套/**/会导致语法错误。
/* 多行注释1 /* 多行注释2 */ */
类似 HTML 的注释
从ES2015追加的HTML-like注释方法,以与HTML注释相同的格式进行描述。
<!-- 这一行是注释 console.log('这行是JavaScript的代码'); // "这行是JavaScript的代码" --> 这一行也是注释
<!--和-->分别被识别为一行注释。
中间console.log()行作为 JavaScript 代码执行,因此输出"这行是JavaScript的代码"。
另外开始标记也可以从与代码相同的行的中途开始写。另一方面结束标记必须写在行的开头。
let num = 1; <!-- 开始标记在行的中间也可以 console.log(num); // 1 --> 结束标记必须在行的开头
同样,中间的代码作为 JavaScript 代码执行,所以它打印 1。
那么为什么会存在这样的规范呢?
它是有历史背景。过去不支持 JavaScript 的浏览器中无法识别<script>,显示了其中编写的代码。
因此为了防止代码显示在屏幕上,<script>采取了一种对策,用 HTML 注释将内部括起来。
<script language="javascript"> <!-- console.log(1); --> </script>
目前所有浏览器都支持<script>,所以这个对策是没有必要的了,但还是有网站在<script>里面写了HTML注释。
因此为了兼容问题,添加了类似 HTML 的注释,以便此类站点上的 JavaScript 可以正常工作。
这种新规范与旧规范的匹配称为向后兼容性。
包括 JavaScript 在内的各种编程语言,随着其规范与时俱进,功能也越来越多。
虽然我们不会使用HTML-like注释,但是随着语言的发展,研究它的历史也很重要。
在哪里写注释
虽然写出一目了然的注释并不容易,但最好先知道在哪里写注释。
写在代码上面
注释一般写在你要解释的代码上面。
// 初始化 let count = 0;
你也可以像这样在你的代码下面写注释。
let count = 0; // 初始化
但是程序基本上是按从上到下的顺序处理的。
把注释写在代码上面更容易理解处理流程。
写在代码的同一行
您还可以在代码所在行的末尾写下注释。此类注释称为内联注释。
let count = 0; // 初始化
内联注释应该只与写在同一行的代码相关。因此,您可以一目了然地看到注释是针对哪个进程的。
另一方面,如果一行中写的代码或注释很长,则可能需要水平滚动。由于无法在多行中表达注释,因此变得难以阅读。
做换行和缩进
如果您的注释很长,请使用换行符和缩进。
假设你有这样的代码:
// 进行加法运算的函数。为参数指定a和b并返回返回返回值 function add (a, b) { return a + b; }
虽然一行也不是看不懂,但是换行后分条写比较容易阅读。
/* 加法函数 参数:a, b 返回值:a + b */ function add (a, b) { return a + b; }
注释掉
注释也用于测试和调试。
注释掉已经编写好的代码,暂时禁用其作为代码的功能。此类注释称为注释掉。
console.log(1); // console.log(2)
如果在执行程序时出现意外行为,检查导致问题的代码。
您可以通过注释掉可疑代码来找到错误的原因并修复它。
let a = 5; /* function add (a, b) { return a ++ b; } */
结语
本篇文章我们解释了如何写一个基本的注释。
写注释可能比想象的要困难和耗时。
我们先学习基本的注释风格,在逐步学习如何留下适当的注释。