像Python文档字符串那样注释JavaScript函数

19 投票
2 回答
5563 浏览
提问于 2025-04-15 15:49

在JavaScript中,写这样的代码是合法的:

function example(x) {
    "Here is a short doc what I do.";
    // code of the function
}

这个字符串其实没有任何作用。那么,有什么理由不以这种方式给JavaScript中的函数添加注释呢?

我在写这个问题时想到两个点:

  • 这个字符串必须被初始化,这在长时间运行中可能会消耗资源。

  • JavaScript的压缩工具不会把这个字符串识别为可以删除的内容。

还有其他的理由吗?

补充:我提到这个话题的原因是:我在John Resig的博客上看到类似的内容,新的ECMA 5标准使用一个未赋值的字符串来启用“严格模式”。我想探讨一下,这种注释方式是否有用或者存在风险。

2 个回答

1

我在寻找一种方法,可以在代码中添加多行字符串,而不需要到处都是 \n 的符号。看起来这个模块可以满足我的需求:https://github.com/monolithed/doc

不过,遗憾的是,注释在压缩代码时会消失,但我想你可以写一个编译任务,把文档字符串转换成 "\n" 格式。

15

其实在JavaScript中这样做没什么意义。在Python里,字符串可以通过函数、类或者模块的__doc__成员来访问。所以这些文档字符串可以用来查看和分析。

如果你在JavaScript中这样创建字符串,跟用注释没什么区别,而且还有一些缺点,比如这个字符串总是会存在。

撰写回答