3

我特别指的是 JavaScript 匿名函数,但这可能与其他语言有关。我喜欢在我的脚本中使用 JSDoc 符号,因为我知道其他人迟早会破解它。当我有相当复杂的匿名函数时,人们如何记录它以便它被 Eclipse 和其他理解 JSDoc 或 JavaDoc 符号的 IDE 拾取?

/**
 * Blah Blah blah
 *
 * @param Object Blah blah blah
 * @return Blah Blah Blah
 * @type Object
 */
function foo(this) {
......
this.bar = function () { ... complex code .....};
......
return obj;
}

谢谢

4

3 回答 3

11

理想情况下,匿名函数应该简短并执行简单的任务。所以......包含它的外部函数应该提供足够的文档。

如果不是这种情况,您可能应该将匿名函数提取到命名函数中,然后正确记录它。

于 2010-04-06T17:00:04.200 回答
1

这不是真正的匿名函数。它有一个名字。名称是“bar”,或者更具体地说,是“foo.bar”。在我看来,这实际上是一个函数字面量。在我看来,真正的匿名函数是一个没有名字的函数,就像另一个函数的参数一样:

var intervalId = setTimeout(function() { // statements }, 1000);

现在,根据Javascript: The Definitive Guide中的 David Flanagan 的说法,匿名函数是“使用 Function() 构造函数创建的”。不过,他在那里对冲他的赌注,因为他进一步指出,这些功能只是“有时”称为匿名的。

为什么我在这里提出这个问题?因为我认为如果你有一个名字,它就不能真正被称为匿名。而且我认为关于 Javascript 函数的“匿名”一词充其量是模棱两可的,至少应该由某个地方的人澄清一下。

于 2010-04-06T17:12:36.357 回答
0

通过使其不匿名。

我发现记录某事的最佳方式是不记录。我的意思是我使用好的变量/函数名称和清晰的代码作为我的文档。

所以在这种情况下,我只需要创建一个静态函数来创建该匿名函数,因此我可以给该静态函数起一个好名字.it

于 2010-04-06T16:59:55.277 回答