名称空间是本地JavaScript函数必须的吗?

时间:2011-02-08 01:49:43

标签: javascript namespaces

我同意使用命名空间对于JavaScript库至关重要,但是那些驻留在script标记中的HTML文件中的函数呢?基本上这些是“本地”功能,永远不会与任何其他页面共享。那些人还在使用命名空间吗?如果是这样,您是否使用与共享自定义库相同的命名空间?

5 个答案:

答案 0 :(得分:2)

我想说本地命名空间可以帮助防止与第三方JavaScript库发生任何可能的冲突,但它不一定是必要的。

答案 1 :(得分:1)

您不需要命名空间,因为正如您所说,没有潜在的命名冲突。

唯一可能的冲突是,如果您要导入使用命名空间的库,并且它引入的变量与您在脚本文件中放置的名称冲突。但是,如果您在所有库中遵循命名空间实践,那么无关紧要。

答案 2 :(得分:1)

首先。将javascripts放在HTML中不是你应该做的事情。 Javascripts应该放在单独的文件中。有明显的加载器例外,例如head.js或类似的,如果你使用它。

我个人认为不需要命名本地脚本。我写过的一个脚本与我用过的任何插件都没碰到过。

答案 3 :(得分:1)

虽然它可能不是必要的,但实际上没有理由不对它们进行命名。它只能帮助预防问题。

这是关于Script Junkie关于命名空间的不同方法的一篇很好的文章: http://msdn.microsoft.com/en-us/scriptjunkie/gg578608.aspx

答案 4 :(得分:1)

它必须依赖脚本嵌入的html来自哪里。如果它位于控制本地脚本的代码将知道对方正在做什么的上下文中,那么我认为不需要名称空间。

另一方面,如果脚本将在CMS之类的上下文中运行,那么可能会有各种服务器端插件发送本地javascript而客户端编码器不必理解代码的复杂性。即使在那里,如果该代码都是命名空间,那么你应该没问题。意外忘记一个var关键字可能会打破命名空间。

总而言之,命名空间不会伤害事物,也不会那么难。当javascript与html混合在一起时,维护和思考javascript会容易得多。