例如:
module.exports = {
myLibraryFunction: function myLibraryFunction() {
...
}
}
缺点是显而易见的。它不是DRY,这意味着如果您不小心,它很容易变得不同步。它还使您的代码更加冗长。
那么有什么优势呢?权衡是否值得?
答案 0 :(得分:1)
我在编写JS库时使用这种方法。最大的优点是像Chrome调试器这样的工具将具有您的函数的确定名称,而不是“匿名”或由基于包含该函数的变量名称的函数路径组成的某个名称。但是,如果您在调试时不关心方法名称,那么它实际上归结为品味问题。如果你要缩小生成的JS代码,那么这样的命名元素无论如何都会被删除。
就这种方法的DRY而言,请考虑重复的名称紧挨着彼此。快速复制&粘贴就是让它们保持同步所需的一切。如果JS包含一个功能,可以根据在创建时分配给它的变量(或者至少是动态重新赋值函数的能力)来命名函数,那就太好了。然而,遗憾的是,这是JS允许我们命名这些匿名函数的唯一方法。