为什么将这些函数分配给具有“冗余”函数名称的对象?

时间:2013-01-11 02:20:40

标签: javascript

如果您认为自己有更好的标题,请随时重新标题。

如果您查看bravo.js的来源,您会在第807行注意到以下内容。

module.declare = function main_module_declare(dependencies, moduleFactory)

命名函数main_module_declare有什么好处?

难道不能只写为以下内容吗?

module.declare = function (dependencies, moduleFactory)

2 个答案:

答案 0 :(得分:4)

如果您需要在严格模式下参考调用函数,它可能很有用。

如果你像我一样并且你没有为“stict模式”付出折腾,那么只需使用arguments.callee

答案 1 :(得分:0)

对函数使用内部局部变量的最大优点是模块的代码对函数是否公开无动于衷。例如,如果您想将以前的私有函数转换为公共函数,那么只需添加module.publicName = privateName行就可以更简单,然后重命名`privateName的所有内容。如果要从公共接口中删除函数,这也适用于其他方法。

但是,这不适用于您链接的特定情况,因为该函数未在模块内再次调用。也就是说,评论提到module.declare可以被覆盖,所以我想有可能在某处保留对原始函数的引用。