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

===============>>#1 票数:2

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

===============>>#2 票数:1 已采纳

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

唯一潜在的冲突是,如果要导入使用名称空间的库,它会引入一个变量,该变量与放置在脚本文件中的名称冲突。 但是,如果您在所有库中都遵循名称空间的做法,那就没关系了。

===============>>#3 票数:1

首先。 您不应该在HTML中放置javascript。 JavaScript应该放在单独的文件中。 如果您使用的是加载器,例如head.js或类似的加载器,则很明显。

我个人认为不需要命名空间本地脚本。 我写过的一个脚本与使用过的任何插件都没有发生冲突。

===============>>#4 票数:1

尽管可能不是必须的,但实际上没有理由不对它们进行命名空间。 它只能帮助防止问题。

这是一篇关于Script Junkie的好文章,介绍了不同的命名空间方法: http : //msdn.microsoft.com/zh-cn/scriptjunkie/gg578608.aspx

===============>>#5 票数:1

它必须取决于嵌入脚本的html的来源。 如果在上下文中代码控制本地脚本会知道其他脚本在做什么,那么我想不需要命名空间了。

另一方面,如果脚本将在类似CMS之类的上下文中运行,则可能有各种服务器端插件在发出本地javascript,而客户端编码器不必了解代码的复杂性。 即使在那儿,如果所有代码都带有命名空间,那么您应该没问题。 偶然忘记一个var关键字可能会破坏名称空间。

总而言之,名称空间并不会伤害任何事情,也没有那么难。 当javascript并非全部与html混合在一起时,维护和考虑javascript会容易得多。

  ask by Tom Tucker translate from so

未解决问题?本站智能推荐:

4回复

具有名称空间的Javascript模块模式

我一直在使用具有适当名称间隔的JavaScript模块模式进行练习。 所以基本上我声明了名称空间,每个名称空间都封装了某些模块。 这是我到目前为止所写的。 该代码已正确注释。 我已经完全注释了该代码,任何人都可以理解。 它声明一个简单的名称空间,然后在其中添加一个模块。 当然,
2回复

使用Javascript的具有名称空间的xPath XML文件

我已经做了很多研究,但仍然死胡同:( 这是我的XML文件(test.xml): 这是我的Javascript文件: 我无法在bk命名空间标签中获取值:( 我已经尝试了所有// ** [name()等垃圾,不行:( 任何帮助将非常感激!!!!!!!!!!!!!!!
1回复

Javascript-类路径可以有名称空间吗?

我知道我可以使用以下代码创建一个类: 但是,我希望此Polygon类驻留在名为Model的名称空间中,以便可以实例化Polygon对象,如下所示: 这可能吗? 我尝试了以下方法: 但这会导致Uncaught SyntaxError: Unexpected token
2回复

从ES6导入带有名称空间的旧JavaScript

我正在使用babel和webpack将旧的javascript转换为ES6。 在多个文件中,我有类似 并在另一个文件中 因此,我将export {BLOG}添加到了这些文件中,但是如何多次导入BLOG? 看来这是不允许的,而我想这样做 并将myClass1和myCla
2回复

JavaScript名称空间

在JavaScript中,从一个命名空间访问另一个函数或属性的最佳方法是哪种? 例:
3回复

javascript名称空间调用其他函数方法

我尝试更改某种方法来将方法调用到名称空间中。 调用父方法(我认为这不可能) 创建和调用继承函数 在另一个方法内部调用(主要是jquery onReady事件函数)(this.MyFunction()不起作用) 我将文件中的每个名称空间都拆分了(想保持这种方式)
1回复

Javascript:在名称空间中调用函数

file1.js file2.js Namespace.addNewFunc.callMe()?? 不完全确定如何使用名称空间到达callMe()的内容。
3回复

将“ This”放入Javascript的名称空间

我敢肯定这应该是一个简单的问题,但是我仍在学习,因此就可以了: 我有一些代码可以在单击时运行一个函数,以将被单击元素的ID分配给变量,但是我不知道如何在不创建全局变量的情况下将“ this.id”值传递给命名空间(我认为这很糟糕) 。 和带有随机图片的HTML:
1回复

Javascript包含名称空间

我有一个带有如下命名空间的foo.js文件: 现在在我的文件imports.js中,我可以执行以下操作: 所以在任何js文件中,我都可以调用Foo.hello(); 现在的问题是:在一个特定的js文件是有办法叫hello()不Foo ,就像using namespace F
2回复

使用JavaScript名称空间

我正在尝试将此代码转换为名称空间,以使其更整洁并避免污染全局名称空间。 我对此很陌生,可以使用一些指导或示例,说明如何将以下代码转换为javascript名称空间。 (我知道这种面向对象的验证方法是多余的!)我从按钮中以“ runValidate(this.form)”这样的形式调用此